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

Re: unseeking?

From
ZBZack Brown <zbrown@tumblerings.org>
Date
Apr 24, 2005, 21:38 UTC
Message-ID
<20050424213841.GD11094@tumblerings.org>
In-Reply-To
<Pine.LNX.4.21.0504241418190.30848-100000@iabervon.org>
On Sun, Apr 24, 2005 at 02:47:30PM -0400, Daniel Barkalow wrote:
Show 7 quoted lines
> On Sun, 24 Apr 2005, Zack Brown wrote:
> > 4) In normal work-flow, when would forks be created, as opposed to other ways
> > of getting a tree?
> 
> I have a tree that I want to modify, but I want to keep the original, and
> I may want to update the original from an upstream source (and then sync
> my work with it).

So why not just do 'git init URL' to get the upstream sources, make your edits, do 'git pull' to track the upstream sources every once in awhile, and do 'git diff' when you're ready to send your changes to the upstream maintainer.

I think I've understood your explanation of what's actually happening, but I still don't see its significance. What do you get from a fork that you don't get from a regular old init and pull?

Be well, Zack

Show 48 quoted lines
> I start with the original:
> 
>   cd original
>   git init URL
>   git addremote remote-source URL
>   git track remote-source
> 
> I make my own working directory:
> 
>   git fork my-changes ../my-changes
>   cd ../my-changes
> 
> Then I do my changes, and commit whenever I feel like I've gotten
> somewhere (or when I think I'm about to mess something up and might want
> to undo changes). Periodically, I check on the mainline:
> 
>   cd ../original
>   git pull
> 
> I also merge changes from the mainline:
> 
>   cd ../my-changes
>   git merge remote-source
> 
> When I'm done, I make a patch for my work:
> 
>   cd ../my-changes
>   git patch remote-source
> 
> I generally then fork the original again, split the patch, apply each
> section in the new fork, committing after each one, generate patches for
> each of these commits, and send those out. Then I discard my old branch
> and continue from the new one. If, at some point, all of the changes I
> want to keep have been put into the mainline, I discard all my branches
> and fork again from the mainline.
> 
> (My personal style is to discard the history of how the changes got made
> in favor of the history of how the changes got into the mainline, since I
> don't really need to keep all of my debugged mistakes that nobody else
> saw.)
> 
> 	-Daniel
> *This .sig left intentionally blank*
> 
> -
> To unsubscribe from this list: send the line "unsubscribe git" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
-- 
Zack Brown
Previous: Daniel BarkalowNext: Daniel Barkalow
Message 7 of 15 in “unseeking?”
  1. Zack BrownApr 24, 2005
  2. Petr BaudisApr 24, 2005
  3. Zack BrownApr 24, 2005
  4. Daniel BarkalowApr 24, 2005
  5. Zack BrownApr 24, 2005
  6. Daniel BarkalowApr 24, 2005
  7. Zack BrownApr 24, 2005
  8. Daniel BarkalowApr 24, 2005
  9. Zack BrownApr 25, 2005
  10. Daniel BarkalowApr 25, 2005
  11. Zack BrownApr 25, 2005
  12. Petr BaudisApr 26, 2005
  13. Zack BrownApr 26, 2005
  14. Petr BaudisApr 26, 2005
  15. Rename tracking, revisited (was: unseeking?)Kevin Smith, Apr 24, 2005

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.