Read git logs from multiple git branches (possibly from different remotes) in one go. The intended use is to view histroies from several unmerged and possibly conflicting repositories chronologically.
Using pbundle, you can get locked dependencies like ruby's bundler or php's composer:
$ python pbootstrap.py $ ./pbundle_modules/bin/pbundle install $ ./python_modules/bin/multipatch --help
Alternatively you can just pip install -r requirements.txt as you normally
would.
Create an empty git repository in _root (name can be your choice) and add
the following configuration to _root/.git/multipatch.yml.
Configure like this:
remotes: - name: pbundle uri: https://github.com/bnkr/pbundle.git - name: craftrun uri: https://github.com/bnkr/craftrun.git branches: - remote: pbundle branch: master - remote: craftrun branch: master - branch: pants
The create command will do this:
$ ./python_modules/bin/python multipatch/cli.py create _root
2015-08-04 17:12:51 INFO multipatch: pbundle exists; set url to https://github.com/bnkr/pbundle.git
2015-08-04 17:12:51 INFO multipatch: craftrun exists; set url to https://github.com/bnkr/craftrun.git
2015-08-04 17:12:51 INFO multipatch: create branch {'remote': 'pbundle', 'branch': 'master'}
2015-08-04 17:12:52 INFO multipatch: create branch {'remote': 'craftrun', 'branch': 'master'}
2015-08-04 17:12:53 INFO multipatch: skip local-only branch {'branch': 'pants'}
In more detail, the following is happening:
- create/update a remote for each of the name/uri combinations in the
remotessection. - create a local branch
remote.branchfor reach remote/branch combination in thebranchessection. - skip any branch which doesn't have a
remotelisted.
Given the same configuration:
$ ./python_modules/bin/python multipatch/cli.py log _root
Logs of each listed in branches will be displayed in chronological order.
You can log without using create if you're prepared to manage your branches
manually. See --help for more details.
See the help text and read the code.