On Sun, Mar 23, 2008 at 7:54 AM, Jonathan Watt <jwatt@xxxxxxxxx> wrote: > Elijah Newren wrote: > > On Sun, Mar 23, 2008 at 7:19 AM, Jonathan Watt <jwatt@xxxxxxxxx> wrote: > >> Johannes Schindelin wrote: > >> > Hi, > >> > > >> > On Sun, 23 Mar 2008, Jonathan Watt wrote: > >> > > >> >> There seems to be a problem with git-push when the working copy of the > >> >> directory being pushed to came from the magic revision HEAD, but not > >> >> when the working copy came from some other revision. > >> > > >> > http://git.or.cz/gitwiki/GitFaq#head-b96f48bc9c925074be9f95c0fce69bcece5f6e73 > >> > > >> > Sidenote: I am constantly amazed how people have no problem accepting that > >> > a CVS-Server has no working directory, but all of a sudden think that a > >> > Git-server should have one, and auto-update it. > >> > >> Hi Dscho. I think you've misread my email. (Or not read it. ;-)) I do not expect > >> git-push to update the working copy of the repository being pushed to. In fact > >> my complaint would be more that it *does* appear to modify the working copy > >> (well, not so much modify the working copy as get confused about which revision > >> the working copy came from) when the working copy came from HEAD. > > > > Ah, I hadn't thought of it that way before. I think you are > > suggesting that pushing to the active branch of a repository with an > > associated working copy should cause the HEAD to become detached. Is > > that right? > > To be honest, I'm not sure what you mean by "HEAD to become detached". If you > mean that the git-push should, if necessary, stop associating the working copy > with HEAD if it's going to change HEAD, then absolutely. It wasn't the same > solution as I was thinking of (stop associating the working copy with HEAD and > instead associate it with the sha1 HEAD currently points to), but I guess it's > the same result. :-) > > Jonathan In git, HEAD always refers to the currently active branch...if there is one. (Also note that each branch tracks its most recent commit.) If there is no currently active branch because you checked out a tag or some arbitrary commit, then HEAD is said to be detached, and HEAD will track the particular commit you checked out. The end result is that HEAD is always the most recent commit to which your working copy is relative to. See also http://www.kernel.org/pub/software/scm/git/docs/glossary.html So, it sounds like we're both saying that in your case, you'd like the HEAD become detached and track the sha1 that it previously pointed to before your push rather than continuing to track the updated branch. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html