git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] contrib/workdir: add a simple script to create a working directory

From
Junio C Hamano <junkio@cox.net>
Date
Mar 26, 2007, 23:42 UTC
Message-ID
<7vtzw7tvvv.fsf@assigned-by-dhcp.cox.net>
In-Reply-To
<20070326232751.2647.19279.julian@quantumfyre.co.uk>
Julian Phillips <julian@quantumfyre.co.uk> writes:
> Add a simple script to create a working directory that uses symlinks
> to point at an exisiting repository.  This allows having different
> branches in different working directories but all from the same
> repository.  A poor-man's .gitlink if you will.

I would not call it poor-man's. It is 'without complexity' and that is a good thing, especially when you are not doing any submodule stuff.

Show 10 quoted lines
> +# create the links to the original repo
> +for x in config refs logs/refs objects info hooks packed-refs remotes rr-cache
> +do
> +	case ${x} in
> +	*/*)
> +		mkdir -p $(dirname ${new_workdir}/.git/${x});
> +		;;
> +	esac
> +	ln -s ${orig_git}/.git/${x} ${new_workdir}/.git/${x};
> +done

I think the above list "for x" is correct, but probably the code wants to comment on why it specifically excludes logs/HEAD from the symlinked set ;-).

Show 6 quoted lines
> +# now setup the workdir
> +cd ${new_workdir};
> +# create a fake HEAD, to stop checkout complaining
> +echo "ref: refs/heads/master" > .git/HEAD;
> +# now checkout the branch that was asked for
> +git checkout ${branch};

If ${branch} was 'master', does this do a checkout? I think -f might be needed.

Previous: Julian PhillipsNext: Julian Phillips
Message 2 of 9 in “contrib/workdir: add a simple script to create a working directory”
  1. contrib/workdir: add a simple script to create a working directoryJulian Phillips, Mar 26, 2007
  2. Junio C HamanoMar 26, 2007
  3. contrib/workdir: add a simple script to create a working directoryJulian Phillips, Mar 26, 2007
  4. Eric LeshMar 27, 2007
  5. Junio C HamanoMar 27, 2007
  6. Julian PhillipsMar 27, 2007
  7. Eric LeshMar 27, 2007
  8. Junio C HamanoMar 27, 2007
  9. contrib/workdir: add a simple script to create a working directoryJulian Phillips, Mar 26, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.