What's in git.git (stable)

2 messages, 1 author, 2016-06-15 · open the first message on its own page

What's in git.git (stable)

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:43:18

Among many small fixes and some code churns, there are a few
notable topics from 'next'.

 - git-filter-branch to rewrite history;

 - git-add "Huh?" factor fix when attempting to add an empty directory;

 - git-log and friends do not have the 16kB size limit for
   commit log messages anymore;

 - git-log and friends' --pretty=oneline treats the first
   paragraph of a commit log message as the title line;

 - "git-log --follow -- single-file";

Simon Hausmann and Shawn Pearce have shepherded a fast-import
based Perforce importer into contrib/fast-import area.

* The 'master' branch has these since the last announcement

Dave O'Neill (1):
  Generate tags with correct timestamp (git-svnimport)

Gerrit Pape (1):
  git-svn: trailing slash in prefix is mandatory with --branches/-b

Jeff King (4):
  dir_struct: add collect_ignored option
  builtin-add: simplify (and increase accuracy of) exclude handling
  Fix ALLOC_GROW off-by-one
  Fix ALLOC_GROW calls with obsolete semantics

Johannes Schindelin (7):
  Add git-filter-branch
  filter-branch: use $(($i+1)) instead of $((i+1))
  filter-branch: fix behaviour of '-k'
  Teach filter-branch about subdirectory filtering
  pp_header(): work around possible memory corruption
  diffcore-rename: favour identical basenames
  filter-branch: add example to move everything into a subdirectory

Johannes Sixt (4):
  filter-branch: Use rev-list arguments to specify revision ranges.
  filter-branch: also don't fail in map() if a commit cannot be
      mapped
  filter-branch: Simplify parent computation.
  filter-branch: subdirectory filter needs --full-history

Julian Phillips (1):
  new-workdir: handle rev-parse --git-dir not always giving full path

Junio C Hamano (5):
  t7003: make test repeatable
  Lift 16kB limit of log message output
  Extend --pretty=oneline to cover the first paragraph,
  Two trivial -Wcast-qual fixes
  git-send-email: Do not make @-less message ID

Linus Torvalds (2):
  Finally implement "git log --follow"
  Fix up "git log --follow" a bit..

Matthias Lederhofer (3):
  filter-branch: prevent filters from reading from stdin
  chmod +x git-filter-branch.sh
  make dist: include configure script in tarball

Nanako Shiraishi (1):
  Cloning from a repo without "current branch"

Shawn O. Pearce (2):
  Avoid src:dst syntax as default bash completion for git push
  Document git-gui, git-citool as mainporcelain manual pages

Sven Verdoolaege (1):
  t9500: skip gitweb tests if perl version is too old

-- p4 --

Benjamin Sergeant (1):
  git-p4 fails when cloning a p4 depo.

Han-Wen Nienhuys (28):
  Cleanups
  reformatting: break long lines.
  rename apply() to applyCommit(); apply is a python builtin
  add .dotest to .gitignore
  Robustness fixes for pipes
  cleanup
  minor cleanups
  clone and sync --keep-path to keep perforce path to module.
  use string.strip() iso. slicing.
  use strip() iso. slicing for removing \n
  add --verbose to all commands.
  Extract multiple paths concurrently.
  Diverse cleanups
  remove global .gitdir
  Read p4 files in one batch.
  Thinko, fix buglet.
  store p4 user cache in home directory.
  thinko.
  read files before creating the commit.
  don't p4 print deleted files.
  only run p4 print if necessary
  use p4CmdList() to get file contents in Python dicts. This is more
      robust.
  Cleanups & import into p4/master for local import
  remove debug print
  thinko: really ignore deleted files.
  look for 'text' and 'binary' files.
  print error message when p4 print fails (eg. due to permission
      problems)
  also strip p4/ from local imports.

Kevin Green (1):
  git-p4: check for existence of repo dir before trying to create

Marius Storm-Olsen (7):
  Make the command call silent
  Replace \r\n with \n when importing from p4 on Windows
  Ensure that the commit message is Windows formated (CRLF) before
      invoking the editor.
  Fix git-p4 clone (defaultDestination)
  Fix single branch import into remotes
  Exclude the HEAD symbolic ref from the list of known branches
  Only use double quotes on Windows

Simon Hausmann (222):
  Initial import of a python script to import changesets from
      Perforce into git.
  Added basic support for specifying the depot path to import from as
      well as the range of perforce changes.
  Slightly improved help usage output and made specifying the
      trailing slash for the depot path optional.
  Implemented basic support for converting the date of the perforce
      change to the git format. The timezone isn't correctly set up
      yet though.
  Some fixes to the timezone conversion between the date of a
      perforce change and the git commit.
  Speed up the import of individual files from Perforce into git by
      passing the output of "p4 print" directly to git fast-import.
      Also try to set the mode of the file in git correctly based on
      file type heuristics.
  Removed unused p4cat function and added helper function for the
      perforce python interface (p4Cmd).
  Changed the import mechanism to write to git fast-import through a
      pipe instead of having p4-fast-export write to stdout and let
      the caller connect it to git fast-import.
  Minor code cleanups and ported some p4 interfacing code over to the
      p4 python mode.
  Instead of parsing the output of "p4 users" use the python objects
      of "p4 -G users".
  Ported the remaining functions that parsed p4 shell output over to
      the p4 python interface.
  Avoid calling fstat for every imported file (slow!) and instead
      read the file data first into the python process and use the
      length of the bytes read for the size field of git fast-import.
  Permit calling p4-fast-export with a depot path that has the
      typical ... wildcard at the end.
  Fixed displaying import progress by calling flush on stdout.
  Create a git tag for every changeset imported from perforce.
  Fix file permissions of p4-fast-export.py to be executable.
  Started working on incremental imports from Perforce.
  Simplify the incremental import by elimination the need for a
      temporary import branch.
  Code cleanups, move the code to create a commit with fast-import
      into a separate function out of the main loop.
  Initial support for importing a directory from Perforce at a
      specified revision.
  Minor cleanups and print an error message of git fast-import if it
      fails.
  Fixed incremental imports by using the correct "from" command
      instead of "merge" with git fast-import.
  Make incremental imports easier to use by storing the p4 depot path
      after an import in .git/config and re-using it when we're
      invoked again later.
  Make specifying the revision ranges more convenient.
  Fix calculation of the newest imported revision for #head imports.
  Catch io exceptions from git fast-import again and print the error
      message.
  Made the name of the git branch used for the perforce import
      configurable through a new --branch=<name> commandline option.
  Added a little helper script to debug the output of the p4 python
      interface.
  Minor code cleanups.
  Avoid the excessive use of git tags for every perforce change and
      instead just create one git tag for the last imported change.
  Changed the default git import branch from "p4" to "master".
  Added a little helper script to remove unused tags from the
      perforce import.
  Create lightweight git tags (using the "reset" trick) for the
      incremental import instead of full-blown ones. Also fix parsing
      the output of git name-rev for figuring out the last imported
      p4 change number.
  Cleanups, remove unused variable.
  Code cleanups.
  Started work on p4 branch detection (experimental!).
  More fixes in heuristic p4 branch detection based on common path
      components.
  After marking a p4 branch as merged don't ever merge it in git
      again.
  Set git fast-import marks for every imported change for future use.
  When trying to map p4 integrations to git merges just record it as
      a single merge with the newest p4 change as secondary parent.
  Make it possible to specify the p4 changes to import through a text
      file (for debugging) and made various improvements to the
      branch/merge heuristic detection.
  Use sets.Set() instead of set() to run also with older versions of
      Python.
  Fix single-branch imports by skipping the branch/merge detection
      correctly.
  Added p4 delete behavioural emulation as todo item.
  Added support for --silent so that p4-fast-export can be called
      from cronjobs.
  More work in --silent support.
  Don't print a plain newline at the end of the execution (avoids
      bogus cron error mails).
  Adjust the output parsing of git name-rev to handle the output of
      the latest git version.
  Work in progress on detecting branches.
  Changed --known-branches to take a file as argument instead of a
      comma separated list.
  Fixed p4-debug file extension.
  Make the p4 data/command cache configurable through the
      --cache-debug commandline option.
  Minor code cleanups.
  More code cleanups and preparations for more branch detection
      heuristics.
  More work on branch detection by implementing
      changeIsBranchMerge().
  Reduce the number of false "merges" by skipping "branch from"
      entries in the integrated output as well as by ignoring
      integrations of future (newer) changes.
  Split up the cache commandline options into (command) cache and
      data cache.
  First version of a new script to submit changes back to perforce
      from git repositories.
  Fix git-dir option and allow reading log substitutions from a file
  Lots of bugfixes to p4-git-sync.
  Automatically operate on a temporary branch, needed for cherry-pick
      to work when applying changes to
  Be nice and use /usr/bin/env python for the git-p4 scripts
  Ignore Apple resource files when importing from perforce to git.
  Auto-detect the current git branch before submitting back to
      perforce.
  Use p4 revert ... instead of revert -a ... after submitting, to
      make sure the p4 checkout is clean.
  Default to interactive syncing
  Improved the git dir detection.
  Pass the right number of arguments to commit, fixes single-branch
      imports.
  Start moving the git-p4 tools into one single script.
  Provide a little bit of help description for the git-p4 "tools".
  First (untested) attempt at migrating p4-git-sync into the final
      git-p4 script
  Part of the code is copyright by Trolltech ASA.
  sync-to-perforce is now called submit and fixed the gitdir check a
      little bit
  Completely untested "merge" of p4-fast-export.py into git-p4.py
  Added missing "self"s to make the script evaluate correctly.
  Fixed the initial version import by getting the file index correct
      by correctly skipping deleted files.
  Removed p4-fast-export and p4-git-sync as they've been integrated
      into git-p4 now.
  Start of the git-p4 documentation.
  Documentation enhancements.
  Added experimental but super-fast --apply-as-patch option to git-p4
      submit
  Fix support for deletions in git-p4 submit when using
      --apply-as-patch by filtering out deletions in the diff-tree
      output.
  Made --apply-as-patch the default for git-p4 submit as it's
      significantly faster.
  Make it possible to invoke git-p4 from within subdirectories of a
      git working tree.
  Don't show the submit template and the diff first in less but show
      it in $editor right away
  Removed the .py extension from git-p4 as it's annoying to type
      every time.
  Changed the format of the imported log message slightly, so that
      it's easier to parse again.
  Changed the default branch for imports from "master" to "p4"
  Added some helper function(s) to parse the depot path and change
      number from the log message
  Helper function to check the existance of a revision
  Set the default branch in run, not in the constructor
  Brand new smart incremental import that doesn't need tags or git
      repo-config :)
  Make it possible to run git-p4 submit from within the git
      repository
  Use the new incremental import style by default
  Different versions of p4 have different output for the where
      command ;(
  Minor cosmetic fixlet for the git-p4 submit sync question.
  Prefer git command over git-command.
  Don't try to parse any options with git-p4 debug but pass it
      straight on to p4
  git-p4 debug doesn't need a git repository
  Added support for mapping p4 labels to git tags
  Fix variable usage in tag import
  Fix the docs for git-p4 submit and turn git-p4 submit --master=foo
      into
  Fix "compilation" :)
  Clean up python class names.
  Added git-p4 rebase convenience
  Provide a tree summary after git-p4 rebase
  Turn off potentially slow label detection by default
  Honor --silent for labels
  Added git-p4 clone convenience command
  Fix file determination for #head imports
  fix variable usage (oops)
  Added a simple example of usage to the "documentation" :)
  Allow for convenient rebasing after git-p4 submit
  Print an error message of some sort if git fast-import fails.
  Fix the timezone formatting. Now qgit also displays (parses) it
      correctly.
  Removed the old patch apply code from git-p4 submit.
  Slightly improved formatting of the raw_input questions.
  A new attempt at fixing the child-fast-import-process-not-finished
      race condition
  Handle patch errors in git-p4 submit better.
  Doc cleanups.
  Micro cleanup
  cleanup, renamed self.globalPrefix to self.depotPath
  Cleanup, removed the old tagging code
  Document some implementation details, for the curious... :)
  Use the subprocess module instead of popen2 to make it work on
      Windows.
  Added a little .bat wrapper from Marius
  Make sure all popen calls use binary mode (for Windows) and
  Make submitting work on Windows.
  Converted to unix newlines
  Fix git-p4 clone //depot/project (head import)
  Make git-p4 work with bare repositories.
  Added the possibility of skipping patches during git-p4 submit
  Give a better hint if git-p4 submit fails
  Fix calling git-p4 rebase from within a subdirectory (git rebase
      wants to be in toplevel)
  A little todo note before I forget it :), based on a suggestion
      from Lars.
  Fixing syncing (gitdir discovery / cd) for bare repositories
  Always pass a sha1 for the initial parent so that git-fast-import
      doesn't think
  Clean up code duplication for revision parsing and fix previous
      commit to not
  Removed cleantags command. It doesn't have any meaning anymore.
  Removed ancient and unused code to find the last imported revision
      from previous imports
  Create the origin based import branch using git update-ref instead
      of git branch
  Changed the default p4 import branch to be
      refs/remotes/p4/{HEAD,master}
  Bite the bullet and automatically convert old style refs/heads/p4
      repositories
  Added support for git-p4 sync/rebase --with-origin. See git-p4.txt
      for details :)
  Removed todo item that is implemented :)
  Fix branch setup after initial clone.
  Removed unused cache variables.
  Started rewriting the branch detection, based on "p4 branches" and
      "p4 branch -o foo".
  Give branches a nice project prefix and don't bail out on clone if
      we failed
  More work on the incremental importing of multiple branches.
  Cleanup/speed up the branch<> file split and removed change range
      limitation that I added
  More cleanups and speedups for labels and branches
  Removed unused variable, more cleanups
  Cache the output of "p4 users" for faster syncs on high latency
      links.
  Fix gitdir not being set when cloning. Needed for writing the p4
      users cache.
  Oops, not only /set/ gitdir on clone, also set it /correctly/ :)
  Use git format-patch and git apply --apply when extracting patches
      from git and
  Added support for git-p4 submit --direct (experimental)
  Specifying --detect-branches is now only needed for the initial
      clone/sync.
  Had an idea for debugging, record it :)
  Another (potentially life-saving) idea for submit --direct
  Improved output for multi branch imports and noted another little
      todo item
  Fix conversion from old style heads/p4 to remotes/p4/master
  Fix error detection with git-p4 submit when the requested depot
      path is not in the client view.
  Fix git symbolic-ref warning on initial clone
  Detect with git-p4 submit --direct when there are no changes in the
      working directory
  Make git-p4 submit --direct safer by also creating a git commit
  Added a rollback command for debugging. It sets back the heads of
      the p4 branches to the specified p4 change number or earlier.
  Fix branch detection in multi-branch imports
  Fixes for rollback, delete branches that did not exist at the
      specified p4 change
  Added support for importing multiple branches into refs/heads
      instead of just refs/remotes
  Added support for --max-changes=<count> to ease import debugging
  Use refs/heads/* instead of refs/heads/p4/* for local imports
  Doc updates
  Avoid calling git symbolic-ref refs/heads/p4//HEAD (double slash)
  Make rollback work with locally imported branches
  Don't make len(p4Cmd("p4 changes -m 1 //foo/...")) == 0 succeed
      when the p4 command itself failed.
  Oops, fill the /list/ correct with the p4 exit code.
  Catch p4 errors in rollback early enough (before deleting refs!)
  Fix p4 execution in git-p4 rollback.
  Fix multi-branch import with --silent.
  Load the user map from p4 only once at run-time.
  Fix creating the remotes/p4 branches based on origin/* for the
      multi-branch import
  Forgot to remove this return statement from debugging
  Added support for --with-origin with multi-branch imports
  Oops, fix --with-origin to /really/ also call git fetch :)
  Avoid creating non-p4 branches in remotes/p4 off of remotes/origin
  Make git-p4 work with packed refs (don't use os.path.exists to
      check for the
  Make --with-origin also work without origin :)
  Make --with-origin the default for syncing.
  Shortcut the case where we have no origin branch
  Forgot to remove this TODO item when I made --with-origin the
      default :)
  Added git-p4 submit --trust-me-like-a-fool for the adventurous
      users :)
  Fix creation of refs/remotes/p4/HEAD symbolic ref
  Fix my email address, this isn't really KDE related :)
  In *_pipe print the command that failed if it fails.
  Fix typo in listExistingP4Branches that broke sync.
  Fix support for "depot-path" in older git-p4 imports
  Fix common path "calculation" from logs of multiple branches.
  Don't attempt to set the initialParent on multi-branch imports
      (useless).
  Hack to make the multi-branch import work again with
      self.depotPaths now that
  Fix git-p4 rebase
  Fix git-p4 submit
  Fix depot-path determination for git-p4 submit
  Make clone behave like git clone by default again.
  Make git-p4 submit detect the correct reference (origin) branch
      when
  Only get the expensive branch mapping from the p4 server when not
  Fixed the check to make sure to exclude the HEAD symbolic refs when
      updating
  Fix updating/creating remotes/p4/* heads from origin/p4/*
  Fix project name guessing
  Fix depot-paths encoding for multi-path imports (don't split up
      //depot/path/foo)
  Fix support for explicit disabling of syncing with the origin
  Write out the options tag in the log message of imports only if we
      actually have
  Provide some information for single branch imports where the
      commits go
  Mention remotes/p4/master also in the documentation.
  git-p4 submit: Fix missing quotes around p4 commands to make them
      work with spaces in filenames
  Moved the code from git-p4 submit to figure out the upstream branch
      point
  Fix git-p4 rebase to detect the correct upstream branch instead of
      unconditionally
  Fix initial multi-branch import.
  Fix the branch mapping detection to be independent from the order
      of the "p4 branches" output.
  Warn about conflicting p4 branch mappings and use the first one
      found.
  Added git-p4 branches command that shows the mapping of perforce
      depot paths to imported git branches.
  Make it possible to specify the HEAD for the internal
      findUpstreamBranchPoint function.

What's in git.git (stable)

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:43:19

Will do a 1.5.2.3 with the tip of 'maint' probably mid-week and
a 1.5.3-rc1 at about the same time from 'master', hopefully with
a few topics that have been in 'next', and also some "discussed
but forgotten" fixes on the list if somebody kindly can remind
me ;-).

----------------------------------------------------------------

* The 'maint' branch has these fixes since the last announcement.

Frank Lichtenheld (2):
  config: Complete documentation of --get-regexp
  config: Change output of --get-regexp for valueless keys

Linus Torvalds (1):
  Fix zero-object version-2 packs

Matt Kraai (1):
  Correct the name of NO_R_TO_GCC_LINKER in the comment describing
      it.

Sam Vilain (3):
  cleanup merge-base test script
  repack: improve documentation on -a option
  git-remote: document -n

Shawn O. Pearce (5):
  git-gui: Correctly install to /usr/bin on Cygwin
  git-gui: Bind Tab/Shift-Tab to cycle between panes in blame
  git-gui: Don't require $DISPLAY just to get --version
  git-gui: Don't nice git blame on MSYS as nice is not supported
  git-gui: Don't require a .pvcsrc to create Tools/Migrate menu hack

Sven Verdoolaege (1):
  Ignore submodule commits when fetching over dumb protocols


* The 'master' branch has these since the last announcement
  in addition to the above.

Adam Roben (2):
  git-send-email: Add --threaded option
  git-send-email: make options easier to configure.

Alex Riesen (1):
  Avoid perl in t1300-repo-config

Alexandre Vassalotti (1):
  git-tag: Fix "can't shift that many".

Brian Gernhardt (1):
  Fix t5516-fetch for systems where `wc -l` outputs whitespace.

Carlos Rica (3):
  Fix git-stripspace to process correctly long lines and spaces.
  Add test script for git-stripspace.
  Add test-script for git-tag

Frank Lichtenheld (2):
  config: Add --null/-z option for null-delimted output
  config: add support for --bool and --int while setting values

Gerrit Pape (1):
  git-cvsimport: force checkout of working tree after initial import

Jim Meyering (3):
  detect close failure on just-written file handles
  Don't ignore a pack-refs write failure
  git-log: detect dup and fdopen failure

Johannes Schindelin (2):
  t7004: ship trustdb to avoid gpg warnings
  git add: respect core.filemode with unmerged entries

Junio C Hamano (2):
  Add core.quotepath configuration variable.
  Update draft Release Notes for 1.5.3

Linus Torvalds (3):
  Clean up internal command handling
  Check for IO errors after running a command
  git: Try a bit harder not to lose errno in stdio

Mark Levedahl (5):
  gitk: Make selection highlight color configurable
  gitk: Update fontsize in patch / tree list
  gitk: Allow specifying tabstop as other than default 8 characters.
  gitk: Use a spinbox for setting tabstop settings
  gitk: Update selection background colorbar in prefs dialog

Matthias Lederhofer (10):
  rev-parse: document --is-inside-git-dir
  rev-parse: introduce --is-bare-repository
  test git rev-parse
  introduce GIT_WORK_TREE to specify the work tree
  Use new semantics of is_bare/inside_git_dir/inside_work_tree
  extend rev-parse test for --is-inside-work-tree
  test GIT_WORK_TREE
  setup_git_directory: fix segfault if repository is found in cwd
  filter-branch: always export GIT_DIR if it is set
  make git barf when an alias changes environment variables

Michael Krelin (1):
  git-svn: honor ~/.subversion/ client cert file settings.

Paul Mackerras (18):
  gitk: Use the -q flag to git checkout
  gitk: New infrastructure for working out branches & previous/next
      tags
  gitk: Don't try to list large numbers of tags or heads in the
      details pane
  gitk: Add some more comments to the optimize_rows procedure
  gitk: Improve the behaviour of the initial selection
  gitk: Implement a simple scheduler for the compute-intensive stuff
  gitk: Cope with commit messages with carriage-returns and initial
      blank lines
  gitk: Disable the head context menu entries for the checked-out
      branch
  gitk: Store ids in rowrangelist and idrowranges rather than row
      numbers
  gitk: New algorithm for drawing the graph lines
  gitk: Show local uncommitted changes as a fake commit
  gitk: Speed up the reading of references
  gitk: Get rid of the childlist variable
  gitk: Add a "reset branch to here" row context-menu operation
  gitk: Limit how often we change the canvas scrolling region
  gitk: Fix bug causing nearby tags/heads to sometimes not be
      displayed
  gitk: Improve handling of whitespace and special chars in filenames
  gitk: Add a progress bar to show progress while resetting

Quy Tonthat (1):
  git.spec: RPM failed, looking for wrong files.

René Scharfe (2):
  diffcore-rename: don't change similarity index based on basename
      equality
  diff: round down similarity index

Sam Vilain (2):
  git-svn: use git-log rather than rev-list | xargs cat-file
  git-svn: cache max revision in rev_db databases

Shawn O. Pearce (3):
  git-gui: Quiet our installation process
  Teach bash how to complete +refspec on git-push
  Correct usages of sed in git-tag for Mac OS X

Simon Hausmann (1):
  git-new-workdir: Fix shell warning about operator == used with
      test.

Theodore Ts'o (1):
  Don't fflush(stdout) when it's not helpful
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help