1. 02 7月, 2006 1 次提交
    • E
      Add git-instaweb, instantly browse the working repo with gitweb · a51d37c1
      Eric Wong 提交于
      I got tired of having to configure gitweb for every repository
      I work on.  I sometimes prefer gitweb to standard GUIs like gitk
      or gitview; so this lets me automatically configure gitweb to
      browse my working repository and also opens my browser to it.
      
      Updates from the original patch:
      
      Added Apache/mod_perl2 compatibility if Dennis Stosberg's gitweb
      has been applied, too: <20060621130708.Gcbc6e5c@leonov.stosberg.net>
      
      General cleanups in shell code usage.
      Signed-off-by: NEric Wong <normalperson@yhbt.net>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      a51d37c1
  2. 25 6月, 2006 1 次提交
  3. 23 6月, 2006 1 次提交
  4. 22 6月, 2006 2 次提交
  5. 21 6月, 2006 1 次提交
  6. 20 6月, 2006 1 次提交
    • L
      Add specialized object allocator · 855419f7
      Linus Torvalds 提交于
      This creates a simple specialized object allocator for basic
      objects.
      
      This avoids wasting space with malloc overhead (metadata and
      extra alignment), since the specialized allocator knows the
      alignment, and that objects, once allocated, are never freed.
      
      It also allows us to track some basic statistics about object
      allocations. For example, for the mozilla import, it shows
      object usage as follows:
      
           blobs:   627629 (14710 kB)
           trees:  1119035 (34969 kB)
         commits:   196423  (8440 kB)
            tags:     1336    (46 kB)
      
      and the simpler allocator shaves off about 2.5% off the memory
      footprint off a "git-rev-list --all --objects", and is a bit
      faster too.
      
      [ Side note: this concludes the series of "save memory in object storage".
        The thing is, there simply isn't much more to be saved on the objects.
      
        Doing "git-rev-list --all --objects" on the mozilla archive has a final
        total RSS of 131498 pages for me: that's about 513MB. Of that, the
        object overhead is now just 56MB, the rest is going somewhere else (put
        another way: the fact that this patch shaves off 2.5% of the total
        memory overhead, considering that objects are now not much more than 10%
        of the total shows how big the wasted space really was: this makes
        object allocations much more memory- and time-efficient).
      
        I haven't looked at where the rest is, but I suspect the bulk of it is
        just the pack-file loading. It may be that we should pack the tree
        objects separately from the blob objects: for git-rev-list --objects, we
        don't actually ever need to even look at the blobs, but since trees and
        blobs are interspersed in the pack-file, we end up not being dense in
        the tree accesses, so we end up looking at more pages than we strictly
        need to.
      
        So with a 535MB pack-file, it's entirely possible - even likely - that
        most of the remaining RSS is just the mmap of the pack-file itself. We
        don't need to map in _all_ of it, but we do end up mapping a fair
        amount. ]
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      855419f7
  7. 19 6月, 2006 8 次提交
  8. 18 6月, 2006 1 次提交
  9. 11 6月, 2006 1 次提交
  10. 08 6月, 2006 1 次提交
  11. 07 6月, 2006 2 次提交
  12. 04 6月, 2006 1 次提交
  13. 26 5月, 2006 2 次提交
    • J
      Don't write directly to a make target ($@). · fc36f6a6
      Jim Meyering 提交于
      Otherwise, if make is suspended, or killed with prejudice, or if the
      system crashes, you could be left with an up-to-date, yet corrupt,
      generated file.
      
      I left off the `clean' addition, because I believe "make clean" should
      not remove wildcard patterns like "*+", on the off-chance that someone
      uses names like that for files they care about.  Besides, in practice,
      those temporary files are left behind so rarely that they're not a bother,
      and they're removed again as part of the next build.
      
      [jc: sign-off?]
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      fc36f6a6
    • M
      Documentation/Makefile: remove extra / · c5360324
      Martin Waitz 提交于
      As both DESTDIR and the prefix are supposed to be absolute pathnames
      they can simply be concatenated without an extra / (like in the main Makefile).
      The extra slash may even break installation on Windows.
      
      [jc: adjusted an earlier workaround for this problem in the dist-doc
       target in the main Makefile as well. ]
      Signed-off-by: NMartin Waitz <tali@admingilde.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      c5360324
  14. 25 5月, 2006 1 次提交
  15. 24 5月, 2006 8 次提交
  16. 23 5月, 2006 1 次提交
  17. 22 5月, 2006 1 次提交
  18. 21 5月, 2006 1 次提交
  19. 20 5月, 2006 4 次提交
    • J
      built-in tar-tree and remote tar-tree · 21754264
      Junio C Hamano 提交于
      This makes tar-tree a built-in.  As an added bonus, you can now
      say:
      
      	git tar-tree --remote=remote-repository <ent> [<base>]
      
      This does not work with git-daemon yet, but should work with
      localhost and git over ssh transports.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      21754264
    • L
      Add builtin "git rm" command · d9b814cc
      Linus Torvalds 提交于
      This changes semantics very subtly, because it adds a new atomicity
      guarantee.
      
      In particular, if you "git rm" several files, it will now do all or
      nothing. The old shell-script really looped over the removed files one by
      one, and would basically randomly fail in the middle if "-f" was used and
      one of the files didn't exist in the working directory.
      
      This C builtin one will not re-write the index after each remove, but
      instead remove all files at once. However, that means that if "-f" is used
      (to also force removal of the file from the working directory), and some
      files have already been removed from the workspace, it won't stop in the
      middle in some half-way state like the old one did.
      
      So what happens is that if the _first_ file fails to be removed with "-f",
      we abort the whole "git rm". But once we've started removing, we don't
      leave anything half done. If some of the other files don't exist, we'll
      just ignore errors of removal from the working tree.
      
      This is only an issue with "-f", of course.
      
      I think the new behaviour is strictly an improvement, but perhaps more
      importantly, it is _different_. As a special case, the semantics are
      identical for the single-file case (which is the only one our test-suite
      seems to test).
      
      The other question is what to do with leading directories. The old "git
      rm" script didn't do anything, which is somewhat inconsistent. This one
      will actually clean up directories that have become empty as a result of
      removing the last file, but maybe we want to have a flag to decide the
      behaviour?
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      d9b814cc
    • J
      Fix build procedure for builtin-init-db · 7c4f59d1
      Junio C Hamano 提交于
      c3c8835f broke the default template
      location which is in builtin-init-db.o, by not supplying the
      compilation-time constant to the right build commands.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      7c4f59d1
    • T
      Builtin git-init-db · c3c8835f
      Timo Hirvonen 提交于
      Basically this just renames init-db.c to builtin-init-db.c and makes
      some strings const.
      Signed-off-by: NTimo Hirvonen <tihirvon@gmail.com>
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      c3c8835f
  20. 19 5月, 2006 1 次提交
    • E
      Implement git-quiltimport · d3d8f361
      Eric W. Biederman 提交于
      Importing a quilt patch series into git is not very difficult
      but parsing the patch descriptions and all of the other
      minutia take a bit of effort to get right, so this automates it.
      
      Since git and quilt complement each other it makes sense
      to make it easy to go back and forth between the two.
      
      If a patch is encountered that it cannot derive the author
      from the user is asked.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      d3d8f361