1. 21 6月, 2009 8 次提交
  2. 19 6月, 2009 11 次提交
    • S
      add: allow configurations to be overriden by command line · ed342fde
      Stephen Boyd 提交于
      Don't call git_config after parsing the command line options, otherwise
      the config settings will override any settings made by the command line.
      
      This can be seen by setting add.ignore_errors and then specifying
      --no-ignore-errors when using git-add.
      Signed-off-by: NStephen Boyd <bebarino@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      ed342fde
    • J
      Merge branch 'maint' · da4e4a65
      Junio C Hamano 提交于
      * maint:
        http.c: fix compiling with libcurl 7.9.2
        import-tars: support symlinks
        pull, rebase: simplify to use die()
      da4e4a65
    • J
      Merge branch 'sb/parse-options-integer' · d978ead4
      Junio C Hamano 提交于
      * sb/parse-options-integer:
        parse-options: simplify usage argh handling
        parse-options: make OPT_INTEGER's argh explicit
      d978ead4
    • J
      Merge branch 'ak/maint-for-each-ref-no-lookup' · 3b912021
      Junio C Hamano 提交于
      * ak/maint-for-each-ref-no-lookup:
        for-each-ref: Do not lookup objects when they will not be used
      3b912021
    • A
      Add -k option to cvsexportcommit to revert expanded CVS keywords in CVS... · 907ffe15
      Alex Bennée 提交于
      Add -k option to cvsexportcommit to revert expanded CVS keywords in CVS working tree before applying commit patch
      
      Depending on how your CVS->GIT conversion went you will have some
      unexpanded CVS keywords in your GIT repo. If any of your git commits
      touch these lines then the patch application will fail. This patch
      addresses that by adding an option that will revert and expanded CVS
      keywords to files in the working CVS directory that are affected by
      the commit being applied.
      Signed-off-by: NAlex Bennée <alex@bennee.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      907ffe15
    • M
      http.c: fix compiling with libcurl 7.9.2 · ef52aafa
      Mark Lodato 提交于
      Change the minimimum required libcurl version for the http.sslKey option
      to 7.9.3.  Previously, preprocessor macros checked for >= 7.9.2, which
      is incorrect because CURLOPT_SSLKEY was introduced in 7.9.3.  This now
      allows git to compile with libcurl 7.9.2.
      Signed-off-by: NMark Lodato <lodatom@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      ef52aafa
    • P
      Test cccmd in t9001-send-email.sh and fix some bugs · cb8a9bd5
      Paolo Bonzini 提交于
      For another patch series I'm working on I needed some tests
      for the cc-cmd feature of git-send-email.
      
      This patch adds 3 tests for the feature and for the possibility
      to specify --suppress-cc multiple times, and fixes two bugs.
      The first bug is that the --suppress-cc option for `cccmd' was
      misspelled as `ccmd' in the code.  The second bug, which is
      actually found only with my other series, is that the argument
      to the cccmd is never quoted, so the cccmd would fail with
      patch file names containing a space.
      
      A third bug I fix (in the docs) is that the bodycc argument was
      actually spelled ccbody in the documentation and bash completion.
      Signed-off-by: NPaolo Bonzini <bonzini@gnu.org>
      Cc: Markus Heidelberg <markus.heidelberg@web.de>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      cb8a9bd5
    • J
      import-tars: support symlinks · 6fb37f86
      Johannes Schindelin 提交于
      Without this patch, symbolic links are turned into empty files.
      Signed-off-by: NJohannes Schindelin <johannes.schindelin@gmx.de>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      6fb37f86
    • R
      upload-archive: fix infinite loop on Cygwin · 1b19fa46
      René Scharfe 提交于
      On Cygwin, poll() reports POLLIN even for file descriptors that have
      reached their end.  This caused git upload-archive to be stuck in an
      infinite loop, as it only looked at the POLLIN flag.
      
      In addition to POLLIN, check if read() returned 0, which indicates
      end-of-file, and keep looping only as long as at least one of the file
      descriptors has input.  This lets the following command finish on its
      own when run in a git repository on Cygwin, instead of it getting stuck
      after printing all file names:
      
      	$ git archive -v --remote . HEAD >/dev/null
      Reported-by: NBob Kagy <bobkagy@gmail.com>
      Signed-off-by: NRene Scharfe <rene.scharfe@lsrfire.ath.cx>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      1b19fa46
    • P
      avoid exponential regex match for java and objc function names · 959e2e64
      Paolo Bonzini 提交于
      In the old regex
      
      ^[ \t]*(([ \t]*[A-Za-z_][A-Za-z_0-9]*){2,}[ \t]*\([^;]*)$
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      
      you can backtrack arbitrarily from [A-Za-z_0-9]* into [A-Za-z_], thus
      causing an exponential number of backtracks.  Ironically it also causes
      the regex not to work as intended; for example "catch" can match the
      underlined part of the regex, the first repetition matching "c" and
      the second matching "atch".
      
      The replacement regex avoids this problem, because it makes sure that
      at least a space/tab is eaten on each repetition.  In other words,
      a suffix of a repetition can never be a prefix of the next repetition.
      Signed-off-by: NPaolo Bonzini <bonzini@gnu.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      959e2e64
    • L
      Fix big left-shifts of unsigned char · 48fb7deb
      Linus Torvalds 提交于
      Shifting 'unsigned char' or 'unsigned short' left can result in sign
      extension errors, since the C integer promotion rules means that the
      unsigned char/short will get implicitly promoted to a signed 'int' due to
      the shift (or due to other operations).
      
      This normally doesn't matter, but if you shift things up sufficiently, it
      will now set the sign bit in 'int', and a subsequent cast to a bigger type
      (eg 'long' or 'unsigned long') will now sign-extend the value despite the
      original expression being unsigned.
      
      One example of this would be something like
      
      	unsigned long size;
      	unsigned char c;
      
      	size += c << 24;
      
      where despite all the variables being unsigned, 'c << 24' ends up being a
      signed entity, and will get sign-extended when then doing the addition in
      an 'unsigned long' type.
      
      Since git uses 'unsigned char' pointers extensively, we actually have this
      bug in a couple of places.
      
      I may have missed some, but this is the result of looking at
      
      	git grep '[^0-9 	][ 	]*<<[ 	][a-z]' -- '*.c' '*.h'
      	git grep '<<[   ]*24'
      
      which catches at least the common byte cases (shifting variables by a
      variable amount, and shifting by 24 bits).
      
      I also grepped for just 'unsigned char' variables in general, and
      converted the ones that most obviously ended up getting implicitly cast
      immediately anyway (eg hash_name(), encode_85()).
      
      In addition to just avoiding 'unsigned char', this patch also tries to use
      a common idiom for the delta header size thing. We had three different
      variations on it: "& 0x7fUL" in one place (getting the sign extension
      right), and "& ~0x80" and "& 0x7f" in two other places (not getting it
      right). Apart from making them all just avoid using "unsigned char" at
      all, I also unified them to then use a simple "& 0x7f".
      
      I considered making a sparse extension which warns about doing implicit
      casts from unsigned types to signed types, but it gets rather complex very
      quickly, so this is just a hack.
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      48fb7deb
  3. 15 6月, 2009 3 次提交
  4. 14 6月, 2009 18 次提交
    • J
      Merge branch 'maint' · 4f4fa9c2
      Junio C Hamano 提交于
      * maint:
        git-rerere.txt: grammatical fixups and cleanups
      4f4fa9c2
    • J
      Merge branch 'maint-1.6.2' into maint · 50a991ec
      Junio C Hamano 提交于
      * maint-1.6.2:
        git-rerere.txt: grammatical fixups and cleanups
      50a991ec
    • J
      Merge branch 'maint-1.6.1' into maint-1.6.2 · 9b7dc718
      Junio C Hamano 提交于
      * maint-1.6.1:
        git-rerere.txt: grammatical fixups and cleanups
      9b7dc718
    • J
      Merge branch 'maint-1.6.0' into maint-1.6.1 · dfe50511
      Junio C Hamano 提交于
      * maint-1.6.0:
        git-rerere.txt: grammatical fixups and cleanups
        http-push.c::remove_locks(): fix use after free
      dfe50511
    • J
      Merge branch 'mh/fix-send-email-threaded' · 08ba2489
      Junio C Hamano 提交于
      * mh/fix-send-email-threaded:
        send-email: fix a typo in a comment
        send-email: fix threaded mails without chain-reply-to
        add a test for git-send-email for threaded mails without chain-reply-to
        doc/send-email: clarify the behavior of --in-reply-to with --no-thread
        send-email: fix non-threaded mails
        add a test for git-send-email for non-threaded mails
      08ba2489
    • J
      Merge branch 'rc/http-push' · e2486193
      Junio C Hamano 提交于
      * rc/http-push: (22 commits)
        http*: add helper methods for fetching objects (loose)
        http*: add helper methods for fetching packs
        http: use new http API in fetch_index()
        http*: add http_get_info_packs
        http-push.c::fetch_symref(): use the new http API
        http-push.c::remote_exists(): use the new http API
        http.c::http_fetch_ref(): use the new http API
        transport.c::get_refs_via_curl(): use the new http API
        http.c: new functions for the http API
        http: create function end_url_with_slash
        http*: move common variables and macros to http.[ch]
        transport.c::get_refs_via_curl(): do not leak refs_url
        Don't expect verify_pack() callers to set pack_size
        http-push: do not SEGV after fetching a bad pack idx file
        http*: copy string returned by sha1_to_hex
        http-walker: verify remote packs
        http-push, http-walker: style fixes
        t5550-http-fetch: test fetching of packed objects
        http-push: fix missing "#ifdef USE_CURL_MULTI" around "is_running_queue"
        http-push: send out fetch requests on queue
        ...
      e2486193
    • J
      Merge branch 'cc/bisect' (early part) · cec3f989
      Junio C Hamano 提交于
      * 'cc/bisect' (early part):
        t6030: test skipping away from an already skipped commit
        bisect: when skipping, choose a commit away from a skipped commit
        bisect: add parameters to "filter_skipped"
        bisect: display first bad commit without forking a new process
        bisect: drop unparse_commit() and use clear_commit_marks()
      cec3f989
    • J
      Merge branch 'rc/maint-http-local-slot-fix' · fa71e805
      Junio C Hamano 提交于
      * rc/maint-http-local-slot-fix:
        http*: cleanup slot->local after fclose
      fa71e805
    • J
      Merge branch 'sp/msysgit' · 95ad2a65
      Junio C Hamano 提交于
      * sp/msysgit:
        compat/ has subdirectories: do not omit them in 'make clean'
        Fix typo in nedmalloc warning fix
        MinGW: Teach Makefile to detect msysgit and apply specific settings
        Fix warnings in nedmalloc when compiling with GCC 4.4.0
        Add custom memory allocator to MinGW and MacOS builds
        MinGW readdir reimplementation to support d_type
        connect.c: Support PuTTY plink and TortoisePlink as SSH on Windows
        git: browsing paths with spaces when using the start command
        MinGW: fix warning about implicit declaration of _getch()
        test-chmtime: work around Windows limitation
        Work around a regression in Windows 7, causing erase_in_line() to crash sometimes
        Quiet make: do not leave Windows behind
        MinGW: GCC >= 4 does not need SNPRINTF_SIZE_CORR anymore
      
      Conflicts:
      	Makefile
      95ad2a65
    • J
      Merge branch 'cb/maint-no-double-merge' · 0a17b2cd
      Junio C Hamano 提交于
      * cb/maint-no-double-merge:
        refuse to merge during a merge
      0a17b2cd
    • J
      Merge branch 'ph/submodule-rebase' (early part) · 7d40f891
      Junio C Hamano 提交于
      * 'ph/submodule-rebase' (early part):
        Rename submodule.<name>.rebase to submodule.<name>.update
        git-submodule: add support for --rebase.
      
      Conflicts:
      	Documentation/git-submodule.txt
      	git-submodule.sh
      7d40f891
    • J
      Merge branch 'bc/solaris' · 436f66b7
      Junio C Hamano 提交于
      * bc/solaris:
        configure: test whether -lresolv is needed
        Makefile: insert SANE_TOOL_PATH to PATH before /bin or /usr/bin
        git-compat-util.h: avoid using c99 flex array feature with Sun compiler 5.8
        Makefile: add section for SunOS 5.7
        Makefile: introduce SANE_TOOL_PATH for prepending required elements to PATH
        Makefile: define __sun__ on SunOS
        git-compat-util.h: tweak the way _XOPEN_SOURCE is set on Solaris
        On Solaris choose the OLD_ICONV iconv() declaration based on the UNIX spec
        Makefile: add NEEDS_RESOLV to optionally add -lresolv to compile arguments
        Makefile: use /usr/ucb/install on SunOS platforms rather than ginstall
      
      Conflicts:
      	Makefile
      436f66b7
    • J
      Merge branch 'cb/match_refs_internal_tail' · 57c57a97
      Junio C Hamano 提交于
      * cb/match_refs_internal_tail:
        match_refs: search ref list tail internally
      57c57a97
    • J
      Merge branch 'nw/maint-cvsexportcommit' · 49c7e464
      Junio C Hamano 提交于
      * nw/maint-cvsexportcommit:
        git-cvsexportcommit can't commit files which have been removed from CVS
      49c7e464
    • J
      Merge branch 'da/araxis-mergetool' · 1bbc8204
      Junio C Hamano 提交于
      * da/araxis-mergetool:
        mergetool--lib: add support for araxis merge
      1bbc8204
    • S
      git-rerere.txt: grammatical fixups and cleanups · c97038d1
      Stephen Boyd 提交于
      Rewrite the gc section using unresolved and resolved instead of "not
      recorded". Add plurals and missing articles. Make some sentences have
      consistent tense. Try and be more active by removing "that" and
      simplifying sentences.
      
      The terms "hand-resolve" and "hand resolve" were used, so just use "hand
      resolve" to be more consistent.
      Signed-off-by: NStephen Boyd <bebarino@gmail.com>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      c97038d1
    • M
      builtin-remote: Make "remote -v" display push urls · 4a4b4cda
      Michael J Gruber 提交于
      Currently, "remote -v" simply lists all urls so that one has to remember
      that only the first one is used for fetches, and all are used for
      pushes.
      
      Change this so that the role of an url is displayed in parentheses, and
      also display push urls.
      
      Example with "one" having one url, "two" two urls, "three" one url and
      one pushurl:
      
      one     hostone.com:/somepath/repoone.git (fetch)
      one     hostone.com:/somepath/repoone.git (push)
      three   http://hostthree.com/otherpath/repothree.git (fetch)
      three   hostthree.com:/pathforpushes/repothree.git (push)
      two     hosttwo.com:/somepath/repotwo.git (fetch)
      two     hosttwo.com:/somepath/repotwo.git (push)
      two     hosttwobackup.com:/somewheresafe/repotwo.git (push)
      Signed-off-by: NMichael J Gruber <git@drmicha.warpmail.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      4a4b4cda
    • M
      builtin-remote: Show push urls as well · 857f8c30
      Michael J Gruber 提交于
      Teach builtin remote to show push urls also when asked to
      "show" a specific remote.
      
      This improves upon the standard display mode: multiple specified "url"s
      mean that the first one is for fetching, all are used for pushing. We
      make this clearer now by displaying the first one prefixed with "Fetch
      URL", and all "url"s (or, if present, all "pushurl"s) prefixed with
      "Push  URL".
      
      Example with "one" having one url, "two" two urls, "three" one url and
      one pushurl (URL part only):
      
      * remote one
        Fetch URL: hostone.com:/somepath/repoone.git
        Push  URL: hostone.com:/somepath/repoone.git
      * remote two
        Fetch URL: hosttwo.com:/somepath/repotwo.git
        Push  URL: hosttwo.com:/somepath/repotwo.git
        Push  URL: hosttwobackup.com:/somewheresafe/repotwo.git
      * remote three
        Fetch URL: http://hostthree.com/otherpath/repothree.git
        Push  URL: hostthree.com:/pathforpushes/repothree.git
      
      Also, adjust t5505 accordingly and make it test for the new output.
      Signed-off-by: NMichael J Gruber <git@drmicha.warpmail.net>
      Signed-off-by: NJunio C Hamano <gitster@pobox.com>
      857f8c30