Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | split off usage into USAGE.md | Adam Spiers | 2019-01-06 | 2 | -51/+57 |
| | |||||
* | add use cases sub-TOC | Adam Spiers | 2019-01-06 | 1 | -0/+11 |
| | |||||
* | add 2018 presentations | Adam Spiers | 2019-01-06 | 1 | -2/+9 |
| | |||||
* | add blank lines before each h2 | Adam Spiers | 2019-01-06 | 1 | -0/+5 |
| | |||||
* | update use cases | Adam Spiers | 2019-01-06 | 1 | -8/+31 |
| | |||||
* | add more details on caveats | Adam Spiers | 2019-01-06 | 1 | -12/+86 |
| | |||||
* | add TOC | Adam Spiers | 2019-01-06 | 1 | -0/+7 |
| | |||||
* | fix link to license | Adam Spiers | 2019-01-06 | 1 | -1/+1 |
| | |||||
* | Merge pull request #78 from aspiers/README | Adam Spiers | 2018-10-21 | 1 | -7/+9 |
|\ | | | | | minor tweaks to improve README | ||||
| * | minor tweaks to improve README | Adam Spiers | 2018-10-21 | 1 | -7/+9 |
|/ | | | | Thanks to Ben North for some useful feedback. | ||||
* | Merge pull request #76 from aspiers/merge-commits | Adam Spiers | 2018-10-04 | 1 | -2/+2 |
|\ | | | | | ALGORITHM CHANGE: only diff tree with first parent | ||||
| * | ALGORITHM CHANGE: only diff tree with first parent | Adam Spiers | 2018-10-03 | 1 | -2/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Running git deps on FOO^! is effectively answering the question "which commits would I need in order to be able to cleanly cherry-pick commit FOO?" Drilling down further, that could be rephrased more precisely as "which commits would I need in my current branch in order to be able to cleanly apply the diff which commit FOO applies to its parent?" However, in the case where FOO is a merge commit with multiple parents, typically the first parent P1 is the parent which is contained by the merge's target branch B1. That means that the merge commit FOO has the effect of applying the diff between P1's tree and the FOO's tree to P1. This could be expressed as: tree(P1) + diff(tree(P1), tree(FOO)) == tree(FOO) Therefore the question git-deps needs to answer when operating on a commit with multiple parents is "which commits would I need in my current branch in order to be able to cleanly apply diff(tree(P1), tree(FOO)) to it?" However, the current algorithm runs the blame analysis not only on diff(tree(P1), tree(FOO)), but on diff(tree(Px), tree(FOO)) for *every* parent. This is problematic, because for instance if the target branch contains commits which are not on P2's branch, then diff(tree(P2), tree(FOO)) will regress any changes provided by those commits. This will introduce extra dependencies which incorrectly answer the above question we are trying to answer. Therefore change the algorithm to only diff against the first parent. This is very similar in nature to the -m option of git cherry-pick: https://stackoverflow.com/questions/12626754/git-cherry-pick-syntax-and-merge-branches/12628579#12628579 In the future it may be desirable to add an analogous -m option to git-deps. Sem-Ver: api-break | ||||
* | | Merge pull request #77 from aspiers/fixups | Adam Spiers | 2018-10-04 | 3 | -0/+79 |
|\ \ | |/ |/| | add git-fixup and documentation for use case | ||||
| * | add git-fixup and documentation for use case | Adam Spiers | 2018-10-03 | 3 | -0/+79 |
|/ | | | | | This is a nice new use case for git-deps which makes it even easier to amend commits buried in the history. | ||||
* | Merge remote-tracking branch 'github/master' | Adam Spiers | 2018-09-28 | 3 | -18/+36 |
|\ | |||||
| * | add reminder about CLI usge help duplication | Adam Spiers | 2018-06-15 | 1 | -0/+3 |
| | | |||||
| * | improve Usage section of README | Adam Spiers | 2018-06-15 | 1 | -12/+33 |
| | | |||||
| * | Docker-based installation is now fixed | Adam Spiers | 2018-05-30 | 1 | -6/+0 |
| | | |||||
* | | fix bug with -l when analyzing multiple commits | Adam Spiers | 2018-09-11 | 1 | -0/+3 |
| | | | | | | | | | | If multiple commits depend on commit X, then the git log output for commit X will only be shown when the first one is discovered. | ||||
* | | fix undefined parent variable bug | Adam Spiers | 2018-09-11 | 1 | -4/+6 |
| | | | | | | | | | | This was introduced by recent refactoring which split blame_hunk() into several smaller methods. | ||||
* | | move more important debug to INFO level | Adam Spiers | 2018-09-11 | 1 | -14/+14 |
| | | | | | | | | | | In the future, this will let us control the verbosity of the debug output. | ||||
* | | clarify that the hunk gets listed later in the debug | Adam Spiers | 2018-09-10 | 1 | -1/+1 |
| | | |||||
* | | rename blame_hunk to blame_diff_hunk | Adam Spiers | 2018-09-10 | 1 | -2/+2 |
| | | | | | | | | This makes it a bit clearer where the hunk came from. | ||||
* | | tweak indentation to make debug easier to follow | Adam Spiers | 2018-09-09 | 1 | -3/+3 |
| | | |||||
* | | fix indentation when debugging hunks | Adam Spiers | 2018-09-09 | 1 | -1/+1 |
| | | |||||
* | | extract process_hunk_line() method | Adam Spiers | 2018-09-09 | 1 | -24/+30 |
| | | |||||
* | | extract debug_hunk() method | Adam Spiers | 2018-09-09 | 1 | -0/+5 |
| | | |||||
* | | extract record_dependency_source() method | Adam Spiers | 2018-09-09 | 1 | -19/+26 |
| | | |||||
* | | extract process_new_dependency() method | Adam Spiers | 2018-09-09 | 1 | -30/+37 |
| | | |||||
* | | extract register_new_dependent() method | Adam Spiers | 2018-09-09 | 1 | -5/+8 |
| | | |||||
* | | reflow some doc strings | Adam Spiers | 2018-09-09 | 1 | -11/+11 |
| | | |||||
* | | extract run_blame() method | Adam Spiers | 2018-09-09 | 1 | -7/+10 |
|/ | |||||
* | solve problem of pip installing wrong pygit2 version | Adam Spiers | 2018-05-23 | 1 | -1/+5 |
| | | | | | Use workaround from @paulwellnerbou as per https://github.com/paulwellnerbou/git-deps-docker/issues/2#issuecomment-391388657 | ||||
* | create-repo.sh: add backporting use case | Adam Spiers | 2018-05-17 | 1 | -1/+20 |
| | |||||
* | fix gitfile-handler to work on Python 3 | Adam Spiers | 2018-05-17 | 1 | -1/+5 |
| | |||||
* | create-repo.sh: create feature branch on separate invocation | Adam Spiers | 2018-05-17 | 1 | -8/+19 |
| | |||||
* | create-repo.sh: allow usage outside git-deps testing | Adam Spiers | 2018-05-17 | 1 | -1/+1 |
| | |||||
* | create-repo.sh: make sure we exit 0 | Adam Spiers | 2018-05-17 | 1 | -0/+2 |
| | | | | For some reason the final read is causing exit 1. | ||||
* | create-repo.sh: add a feature branch | Adam Spiers | 2018-05-17 | 1 | -0/+9 |
| | |||||
* | create-repo.sh: use foo etc. for changed lines | Adam Spiers | 2018-05-17 | 1 | -4/+4 |
| | | | | Letters are already used for filenames so keep them distinct for clarity. | ||||
* | create-repo.sh: refactoring into new edit function | Adam Spiers | 2018-05-17 | 1 | -14/+13 |
| | |||||
* | create-repo.sh: start moving code into functions | Adam Spiers | 2018-05-17 | 1 | -37/+42 |
| | |||||
* | add 1.0.2 changes to CHANGES.rst1.0.2 | Adam Spiers | 2018-05-17 | 1 | -0/+9 |
| | |||||
* | fix .rst formatting | Adam Spiers | 2018-05-17 | 1 | -8/+8 |
| | |||||
* | add a brief maintainer's guide | Adam Spiers | 2018-05-17 | 1 | -0/+44 |
| | |||||
* | add sdist environment to tox | Adam Spiers | 2018-05-17 | 1 | -0/+3 |
| | | | | | This allows building of the sdist via tox -e sdist, which will place the result in ~/.tox/distshare for use by git-explode. | ||||
* | document repackaging of Javascript modules with newer npm | Adam Spiers | 2018-05-17 | 1 | -0/+4 |
| | |||||
* | add 1.0.1 changes to CHANGES.rst1.0.1 | Adam Spiers | 2018-05-17 | 1 | -0/+9 |
| | |||||
* | update dagre based on security advice from npm | Adam Spiers | 2018-05-17 | 1 | -5/+5 |
| | |||||
* | avoid PyScaffold bug with newer setuptools | Adam Spiers | 2018-05-16 | 1 | -2/+2 |
| | | | | | | | | https://github.com/blue-yonder/pyscaffold/issues/148 Why the HELL is setup_requires choosing to install PyScaffold 2.5.6 when 2.5.10 is available and within the constraints? That would be far too sensible, wouldn't it? |