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

Re: simple cvs-like git wrapper

From
EPEd S. Peschko <esp5@pge.com>
Date
Jan 30, 2008, 22:52 UTC
Message-ID
<20080130225254.GC9612@venus>
In-Reply-To
<20080130040002.GM24004@spearce.org>
On Tue, Jan 29, 2008 at 11:00:02PM -0500, Shawn O. Pearce wrote:
Show 8 quoted lines
> "Ed S. Peschko" <esp5@pge.com> wrote:
> > In our case, our code is tied to a database and a database instance. An
> > environment equals attachment to a given oracle SID. If someone is out of sync
> > with other people's changes, then that person's environment is wrong.
> 
> Surely not every single code change impacts the database schema
> and meaning of column values?  If that were truely the case then
> I'd say you have bigger issues to tackle.

well, no, but I'd say 80-90% of the changes we have are ones that we want to instantly share with everybody. I was thinking that ones that we didn't would be prefixed, as in:

	git-branch exp-<change_name>

and those would need to be renamed explicitly to become 'mainline' branches before they were merged..

You've got some good points, and my original intent was to answer them point-by-point, but suffice to say:

	1. I was hoping to make each branch correspond to a work request,
	   that would be tracked for SOX. We also need to track the changes
	   in mercury interactive, not git, so I've got some challenges
	   there in making a wrapper to handle this.
	2. A single, linear history on the remote end wouldn't be easy for
	   reporting purposes.
    3. A single linear history on the remote end wouldn't support 
	   the rare cases where I *do* want a single change.

I guess my scheme's workability depends on how effective git is at doing merges from branch to branch, and how good it is at fixing conflicts in a way that is simple for the user. In CVS, I get:

    >>>>>
    ...
    =====
    ...
    <<<<<

when a conflict occurs, and you need to resolve that conflict before re-committing again. Does git do a similar thing?

Also, with git-ls-remote - is there a way to see more information about the remote branch rather than just its name, ie: can you say:

    git-ls-remote -l --heads origin

to get a list of changes in the order they were made? And is there a command that does what I want, ie:

	git pull origin --all 

Which pulls all branches from origin and merges them into the current branch in an intelligent way, ie: by order in which the branches were committed, or even:

	git pull origin --re: '^(?!exp)'

which pulls in all branches matching a given regular expression (in this case, not matching 'exp' at the beginning..

Ed
Previous: Shawn O. PearceNext: Shawn O. Pearce
Message 5 of 15 in “simple cvs-like git wrapper”
  1. Ed S. PeschkoJan 29, 2008
  2. Jakub NarebskiJan 29, 2008
  3. Ed S. PeschkoJan 30, 2008
  4. Shawn O. PearceJan 30, 2008
  5. Ed S. PeschkoJan 30, 2008
  6. Shawn O. PearceJan 31, 2008
  7. Ed S. PeschkoJan 31, 2008
  8. Shawn O. PearceJan 31, 2008
  9. Junio C HamanoJan 31, 2008
  10. Daniel BarkalowJan 30, 2008
  11. Kate RhodesFeb 1, 2008
  12. Johannes SchindelinFeb 1, 2008
  13. Jakub NarebskiFeb 1, 2008
  14. Uwe Kleine-KönigFeb 1, 2008
  15. Jakub NarebskiFeb 1, 2008

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.