[Kde-scm-interest] Package splitting

Thiago Macieira thiago at kde.org
Wed Jan 27 10:45:09 CET 2010


Em Quarta-feira 27 Janeiro 2010, às 09:35:21, Chani escreveu:
> > You don't want to track. The point is to remember, when you go back in
> > time, which revision is known to work. More importantly, when you tag,
> > you know exactly what you released.
> 
> what's the downside of having a repository composed of thousands of "update
> subrepo foo" commits? we're past a million svn commits now, that's a lot of
> committing - but now that I think about it I'm having trouble coming up wth
> an actual problem with that. apart from the potential cpu and network load
> for the update bot, which could be tiny for all I know.

You don't update the supermodule unless you want to say something.

For example, when we're about to tag, tag all repositories, then the 
supermodule.

Other than that, there's no need to change the supermodule at all.

> > When developing, however, just detach the submodule. Go into it, checkout
> > master or 4.3 or whatever and work on it. Sure, a "git status" in the
> > supermodule will produce "modified" for each directory where you've been
> > working, but why are you in the supermodule in the first place?
> 
> hmm.
> what happens if $build-script does a "git pull" on hte supermodule after I
> do that?

Now that's a good question.

Some tests:

/tmp/superrepo$ git status
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   sub
#
no changes added to commit (use "git add" and/or "git commit -a")

/tmp/superrepo$ git pull . b2
From .
 * branch            b2         -> FETCH_HEAD
Updating 1e82b7f..922f57a
Fast-forward
 README |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

$ git reset --hard HEAD~
HEAD is now at 1e82b7f Initialise submodule

/tmp/superrepo$ git st
# On branch master
# Changed but not updated:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       modified:   sub
#
no changes added to commit (use "git add" and/or "git commit -a")

/tmp/superrepo$ touch INSTALL; git add INSTALL; git commit -m "Added INSTALL"
[master 83b2950] Added INSTALL
 0 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 INSTALL

/tmp/superrepo$ git pull --rebase . b2
From .
 * branch            b2         -> FETCH_HEAD
First, rewinding head to replay your work on top of it...
Applying: Added INSTALL


-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
  Senior Product Manager - Nokia, Qt Development Frameworks
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/kde-scm-interest/attachments/20100127/7cd0a85e/attachment-0001.sig 


More information about the Kde-scm-interest mailing list