git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Announce gitslave - manage a superproject with slave repositories
@ 2010-09-21  1:39 Seth Robertson
  2010-09-21 21:47 ` Jakub Narebski
  2010-09-23 22:49 ` Thomas Adam
  0 siblings, 2 replies; 3+ messages in thread
From: Seth Robertson @ 2010-09-21  1:39 UTC (permalink / raw)
  To: git


I'd like to announce the first public version of gitslave.

gitslave creates a group of related repositories all of which are
concurrently developed on and on which all git operations should
operate, so when you branch, each repository in the project is
branched in turn.  Similarly when you commit, push, pull, merge,
tag, checkout, status, log, etc; each git command will run on the
superproject and all slave repositories in turn.  This sort of
activity may be very familiar to CVS users and to a lesser extent
subversion users where it was fairly normal to assemble a
superproject in just this way.

git-submodules is the legacy solution for a similar sort of
activity, but went a different way.  With submodules you have a
semi-fixed subrepository which you are typically not doing active
development on and which git commands performed on the
superproject will not recurse down into the submodules. Another
option is to stick everything in one giant repository, but that
does not work well if some subsets are shared with other
superprojects.

The gits wrapper around git combines (and occasionally
post-processes for some special commands) the git output to make
everything clearer, which is very useful when you have a few
dozen slaves where looking at a concatenation of identical output
for each git command would lose the wheat in the chaff.

However, gitslave is not perfect. You can have partial success
and failure (which is advertised), programs like `gitk` will not
show the global systems' history only a specific repository's,
and things can get a little squirrelly if different branches/tags
have different slave modules associated with them and you
checkout back and forth.  However, we have not had any
significant problems in over two years of intensive work on a
project using this script.

If your development style or project lends itself to many
individual repositories, and those repositories are under your
direct control and all repositories should at identical
branch names at the same time, gitslave might just be for you.

http://gitslave.sourceforge.net/

Current release as of 2010-09-20: 1.0.0
http://sourceforge.net/projects/gitslave/files/gitslave-1.0.0.tar.gz/download

                                        -Seth Robertson

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Announce gitslave - manage a superproject with slave repositories
  2010-09-21  1:39 Announce gitslave - manage a superproject with slave repositories Seth Robertson
@ 2010-09-21 21:47 ` Jakub Narebski
  2010-09-23 22:49 ` Thomas Adam
  1 sibling, 0 replies; 3+ messages in thread
From: Jakub Narebski @ 2010-09-21 21:47 UTC (permalink / raw)
  To: Seth Robertson; +Cc: git

Seth Robertson <in-gitvger@baka.org> writes:

> I'd like to announce the first public version of gitslave.
> 
> gitslave creates a group of related repositories all of which are
> concurrently developed on and on which all git operations should
> operate, so when you branch, each repository in the project is
> branched in turn.  Similarly when you commit, push, pull, merge,
> tag, checkout, status, log, etc; each git command will run on the
> superproject and all slave repositories in turn.  This sort of
> activity may be very familiar to CVS users and to a lesser extent
> subversion users where it was fairly normal to assemble a
> superproject in just this way.
[...]

> http://gitslave.sourceforge.net/
> 
> Current release as of 2010-09-20: 1.0.0
> http://sourceforge.net/projects/gitslave/files/gitslave-1.0.0.tar.gz/download

Could you please add information about this project to
InterfacesFrontendsAndTools page on Git Wiki:
  https://git.wiki.kernel.org/index.php/InterfacesFrontendsAndTools

Somewhere in neighbourhood of 'repo' or 'git-subtree' could be good.

Thanks in advance.
-- 
Jakub Narebski
Poland
ShadeHawk on #git

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Announce gitslave - manage a superproject with slave repositories
  2010-09-21  1:39 Announce gitslave - manage a superproject with slave repositories Seth Robertson
  2010-09-21 21:47 ` Jakub Narebski
@ 2010-09-23 22:49 ` Thomas Adam
  1 sibling, 0 replies; 3+ messages in thread
From: Thomas Adam @ 2010-09-23 22:49 UTC (permalink / raw)
  To: Seth Robertson; +Cc: git

Hi --

On 21 September 2010 02:39, Seth Robertson <in-gitvger@baka.org> wrote:
>
> I'd like to announce the first public version of gitslave.

I had a very quick cursive look at the perl.  Any reason why you're
using using the Git module shipped with GIt, and relying on your own
use of system() which is arguarbly bad?

-- Thomas Adam

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2010-09-23 22:50 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-09-21  1:39 Announce gitslave - manage a superproject with slave repositories Seth Robertson
2010-09-21 21:47 ` Jakub Narebski
2010-09-23 22:49 ` Thomas Adam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).