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

Re: [RFC/PATCH 2/2] doc: command line interface (cli) dot-repository dwimmery

From
Junio C Hamano <gitster@pobox.com>
Date
May 21, 2013, 23:24 UTC
Message-ID
<7vr4gzlxvx.fsf@alter.siamese.dyndns.org>
In-Reply-To
<CAMP44s3rpS==ANz_OEVyVeUWXFNBu7RZaxJ5k-b7N5k9WFFhVw@mail.gmail.com>
Felipe Contreras <felipe.contreras@gmail.com> writes:
Show 23 quoted lines
> I still haven't received a response: which makes more sense?
>
> a)
>
> 	% git checkout svn-ext
> 	% git fetch
> 	From .
> 	 * branch            master     -> FETCH_HEAD
> 	# oops
> 	% git fetch git-svn
> 	% git log ..FETCH_HEAD
> 	% git merge FETCH_HEAD
>
> b)
>
> 	% git checkout svn-ext
> 	% git fetch
> 	From git://git.kernel.org/pub/scm/git/git
> 	   680ed3e..de3a5c6  master     -> origin/master
> 	# oops
> 	% git fetch svn-ext
> 	% git log ..FETCH_HEAD
> 	% git merge FETCH_HEAD

I think with the scenario you are following, a) would prepare the FETCH_HEAD with her local git-svn branch which is her svn-ext topic is based on, but you illustrated it to fetch 'master', which I think is a minor typo.

Modulo that typo, the step before the #oops makes perfect sense. It fetched where she told Git her work on svn-ext is based on.

But the step after that does not make much sense in that flow.

"git fetch git-svn" to get from Eric might make sense but running log with FETCH_HEAD while she is on her svn-ext does not make any sense, let alone merging with it. Her svn-ext is based on her local git-svn branch for a reason---her branches are cascaded this way:

    Eric --> her local git-svn --> her local svn-ext

Hecking out her git-svn to update/rebase it on top of Eric's latest and then update her svn-ext that is based on her git-svn may make sense. But fetching from Eric and merging it into her svn-ext directly does not.

And what happens before #oops in b) is an utter nonsense. Her svn-ext is not even related to my tree. I think the step after that is a typo of "git fetch git-svn" to fetch from Eric, but again, because svn-ext is fork from her local git-svn (which is ahead of Eric's tree with her own changes, but the changes are not related to her svn-ext work), these "fetch from Eric, integrate svn-ext directly with it" makes no sense.

So, the short answer is neither, but a) can be fixed (not in code but in the typescript) to make more sense, perhaps like this:

    % git checkout svn-ext
    % git fetch
    % git log ..FETCH_HEAD
    % git rebase FETCH_HEAD
    # The last three can be "git pull --rebase".
    # ok, did Eric do something in the meantime?
    % git checkout git-svn
    % git fetch
    From git://git.bogomips.org/git-svn.git/
     * branch  master -> git-svn/master
    % git rebase FETCH_HEAD
    # now let's rebuild the svn-ext on top
    % git checkout svn-ext
    % git pull --rebase

The last step can be "git rebase git-svn", and the step to update git-svn from Eric after checking it out can be "git pull --rebase", but the whole point of having @{u}, even for branches that fork from a local branch, is so that the user does not have to remember what forks from what, so I did not force her to say "git rebase git-svn" in that step.

Previous: Felipe ContrerasNext: Felipe Contreras
Message 17 of 33 in “Extend dot repository documentation”
  1. 0/2 Extend dot repository documentationPhilip Oakley, May 19, 2013
  2. 1/2 config doc: add dot-repository notePhilip Oakley, May 19, 2013
  3. Jonathan NiederMay 19, 2013
  4. Junio C HamanoMay 20, 2013
  5. Philip OakleyMay 20, 2013
  6. 2/2 doc: command line interface (cli) dot-repository dwimmeryPhilip Oakley, May 19, 2013
  7. Jonathan NiederMay 19, 2013
  8. Philip OakleyMay 19, 2013
  9. Junio C HamanoMay 20, 2013
  10. Philip OakleyMay 20, 2013
  11. Junio C HamanoMay 20, 2013
  12. Philip OakleyMay 21, 2013
  13. Junio C HamanoMay 21, 2013
  14. Felipe ContrerasMay 21, 2013
  15. Philip OakleyMay 21, 2013
  16. Felipe ContrerasMay 21, 2013
  17. Junio C HamanoMay 21, 2013
  18. Felipe ContrerasMay 22, 2013
  19. Junio C HamanoMay 22, 2013
  20. Felipe ContrerasMay 22, 2013
  21. Junio C HamanoMay 22, 2013
  22. Felipe ContrerasMay 22, 2013
  23. Philip OakleyMay 22, 2013
  24. Felipe ContrerasMay 22, 2013
  25. 0/3 Extend dot repository documentationPhilip Oakley, Sep 13, 2013
  26. 1/3 Doc URLs: relative paths imply the dot-respositoryPhilip Oakley, Sep 13, 2013
  27. Junio C HamanoSep 13, 2013
  28. Philip OakleySep 14, 2013
  29. 2/3 config doc: update dot-repository notesPhilip Oakley, Sep 13, 2013
  30. Junio C HamanoSep 13, 2013
  31. Philip OakleySep 14, 2013
  32. 3/3 doc: command line interface (cli) dot-repository dwimmeryPhilip Oakley, Sep 13, 2013
  33. Junio C HamanoSep 13, 2013

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.