1. 05 12月, 2005 1 次提交
  2. 29 11月, 2005 1 次提交
  3. 03 11月, 2005 1 次提交
    • J
      Be careful when dereferencing tags. · 9534f40b
      Junio C Hamano 提交于
      One caller of deref_tag() was not careful enough to make sure
      what deref_tag() returned was not NULL (i.e. we found a tag
      object that points at an object we do not have).  Fix it, and
      warn about refs that point at such an incomplete tag where
      needed.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      9534f40b
  4. 16 10月, 2005 1 次提交
  5. 25 8月, 2005 1 次提交
  6. 06 8月, 2005 1 次提交
    • J
      Fix ref_newer() in send-pack. · 51b0fca0
      Junio C Hamano 提交于
      When more than two references need to be checked with
      ref_newer() function, the second and later calls did not work
      correctly.  This was because the later calls found commits
      retained by the "struct object" layer that still had smudges
      made by earlier calls.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      51b0fca0
  7. 05 8月, 2005 1 次提交
    • J
      Fix send-pack for non-commitish tags. · 37fde874
      Junio C Hamano 提交于
      Again I left the v2.6.11-tree tag behind.  My bad.
      
      This commit makes sure that we do not barf when pushing a ref
      that is a non-commitish tag.  You can update a remote ref under
      the following conditions:
      
       * You can always use --force.
       * Creating a brand new ref is OK.
       * If the remote ref is exactly the same as what you are
         pushing, it is OK (nothing is pushed).
       * You can replace a commitish with another commitish which is a
         descendant of it, if you can verify the ancestry between them;
         this and the above means you have to have what you are replacing.
       * Otherwise you cannot update; you need to use --force.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      37fde874
  8. 04 8月, 2005 2 次提交
    • J
      Renaming push. · f88395ac
      Junio C Hamano 提交于
      This allows git-send-pack to push local refs to a destination
      repository under different names.
      
      Here is the name mapping rules for refs.
      
      * If there is no ref mapping on the command line:
      
       - if '--all' is specified, it is equivalent to specifying
         <local> ":" <local> for all the existing local refs on the
         command line
       - otherwise, it is equivalent to specifying <ref> ":" <ref> for
         all the refs that exist on both sides.
      
      * <name> is just a shorthand for <name> ":" <name>
      
      * <src> ":" <dst>
      
        push ref that matches <src> to ref that matches <dst>.
      
        - It is an error if <src> does not match exactly one of local
          refs.
      
        - It is an error if <dst> matches more than one remote refs.
      
        - If <dst> does not match any remote refs, either
      
          - it has to start with "refs/"; <dst> is used as the
            destination literally in this case.
      
          - <src> == <dst> and the ref that matched the <src> must not
            exist in the set of remote refs; the ref matched <src>
            locally is used as the name of the destination.
      
      For example,
      
        - "git-send-pack --all <remote>" works exactly as before;
      
        - "git-send-pack <remote> master:upstream" pushes local master
          to remote ref that matches "upstream".  If there is no such
          ref, it is an error.
      
        - "git-send-pack <remote> master:refs/heads/upstream" pushes
          local master to remote refs/heads/upstream, even when
          refs/heads/upstream does not exist.
      
        - "git-send-pack <remote> master" into an empty remote
          repository pushes the local ref/heads/master to the remote
          ref/heads/master.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      f88395ac
    • J
      send-pack: handle partial pushes correctly. · 40b64d47
      Junio C Hamano 提交于
      When pushing into multi-user repository, or when pushing to a
      repository from a local repository that has rebased branches
      that has been pruned, the destination repository can have head
      commits that are missing from the local repository.
      
      This should not matter as long as the local head of the branch
      being pushed is a proper superset of the destination branch, but
      we ended up trying to run rev-list telling it to exclude objects
      reachable from those heads missing from the local repository,
      causing it to barf.  Prune those heads from the rev-list
      parameter list, and make sure we do not try to push a branch
      whose remote head is something we lack.
      Signed-off-by: NJunio C Hamano <junkio@cox.net>
      40b64d47
  9. 03 8月, 2005 1 次提交
  10. 27 7月, 2005 1 次提交
  11. 19 7月, 2005 1 次提交
  12. 17 7月, 2005 2 次提交
  13. 14 7月, 2005 1 次提交
  14. 12 7月, 2005 1 次提交
    • L
      git-send-pack: Fix duplicate refname match · e33b2ef8
      Linus Torvalds 提交于
      Cut-and-paste dup noticed by Junio.  It's not even harmless, since a
      match also causes that match to be invalidated, so this made it
      impossible to update an existing branch by name.
      
      I'd only tested the case of "ref doesn't exist at all on the other end",
      which worked fine.
      e33b2ef8
  15. 09 7月, 2005 1 次提交
    • L
      Teach 'git-send-pack' to send new branches and tags. · 584c6cc9
      Linus Torvalds 提交于
      The protocol always supported it, but send-pack didn't actually know how
      to tell the other side about a new branch/tag.
      
      NOTE! You'll have to name it explicitly on the command line: if you
      don't name any branches, git-send-pack will default to the branches that
      already exist.
      584c6cc9
  16. 06 7月, 2005 1 次提交
  17. 05 7月, 2005 2 次提交
  18. 04 7月, 2005 1 次提交
  19. 01 7月, 2005 2 次提交
    • L
      Do ref matching on the sender side rather than on receiver · d0efc8a7
      Linus Torvalds 提交于
      This makes the receiver always send a full list of valid refs, which
      will allow us to do better packs, as well as handle creation of new
      refs.  Eventually.  Right now we just moved the matching and enabled it.
      
      So now you can do
      
      	git-send-pack host:path branch1 branch2
      
      to only send branches "branch1" and "branch2".
      d0efc8a7
    • L
      git-send-pack: actually send the object pack · 94fdb7aa
      Linus Torvalds 提交于
      This concludes this lesson.  I've actually successfully sent an update
      using the git-send-pack command.
      
      Probably tons of work still to do, and nasty debugging, but it's now
      actually potentially useful.
      94fdb7aa
  20. 30 6月, 2005 5 次提交