aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* split off usage into USAGE.mdAdam Spiers2019-01-062-51/+57
|
* add use cases sub-TOCAdam Spiers2019-01-061-0/+11
|
* add 2018 presentationsAdam Spiers2019-01-061-2/+9
|
* add blank lines before each h2Adam Spiers2019-01-061-0/+5
|
* update use casesAdam Spiers2019-01-061-8/+31
|
* add more details on caveatsAdam Spiers2019-01-061-12/+86
|
* add TOCAdam Spiers2019-01-061-0/+7
|
* fix link to licenseAdam Spiers2019-01-061-1/+1
|
* Merge pull request #78 from aspiers/READMEAdam Spiers2018-10-211-7/+9
|\ | | | | minor tweaks to improve README
| * minor tweaks to improve READMEAdam Spiers2018-10-211-7/+9
|/ | | | Thanks to Ben North for some useful feedback.
* Merge pull request #76 from aspiers/merge-commitsAdam Spiers2018-10-041-2/+2
|\ | | | | ALGORITHM CHANGE: only diff tree with first parent
| * ALGORITHM CHANGE: only diff tree with first parentAdam Spiers2018-10-031-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/fixupsAdam Spiers2018-10-043-0/+79
|\ \ | |/ |/| add git-fixup and documentation for use case
| * add git-fixup and documentation for use caseAdam Spiers2018-10-033-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 Spiers2018-09-283-18/+36
|\
| * add reminder about CLI usge help duplicationAdam Spiers2018-06-151-0/+3
| |
| * improve Usage section of READMEAdam Spiers2018-06-151-12/+33
| |
| * Docker-based installation is now fixedAdam Spiers2018-05-301-6/+0
| |
* | fix bug with -l when analyzing multiple commitsAdam Spiers2018-09-111-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 bugAdam Spiers2018-09-111-4/+6
| | | | | | | | | | This was introduced by recent refactoring which split blame_hunk() into several smaller methods.
* | move more important debug to INFO levelAdam Spiers2018-09-111-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 debugAdam Spiers2018-09-101-1/+1
| |
* | rename blame_hunk to blame_diff_hunkAdam Spiers2018-09-101-2/+2
| | | | | | | | This makes it a bit clearer where the hunk came from.
* | tweak indentation to make debug easier to followAdam Spiers2018-09-091-3/+3
| |
* | fix indentation when debugging hunksAdam Spiers2018-09-091-1/+1
| |
* | extract process_hunk_line() methodAdam Spiers2018-09-091-24/+30
| |
* | extract debug_hunk() methodAdam Spiers2018-09-091-0/+5
| |
* | extract record_dependency_source() methodAdam Spiers2018-09-091-19/+26
| |
* | extract process_new_dependency() methodAdam Spiers2018-09-091-30/+37
| |
* | extract register_new_dependent() methodAdam Spiers2018-09-091-5/+8
| |
* | reflow some doc stringsAdam Spiers2018-09-091-11/+11
| |
* | extract run_blame() methodAdam Spiers2018-09-091-7/+10
|/
* solve problem of pip installing wrong pygit2 versionAdam Spiers2018-05-231-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 caseAdam Spiers2018-05-171-1/+20
|
* fix gitfile-handler to work on Python 3Adam Spiers2018-05-171-1/+5
|
* create-repo.sh: create feature branch on separate invocationAdam Spiers2018-05-171-8/+19
|
* create-repo.sh: allow usage outside git-deps testingAdam Spiers2018-05-171-1/+1
|
* create-repo.sh: make sure we exit 0Adam Spiers2018-05-171-0/+2
| | | | For some reason the final read is causing exit 1.
* create-repo.sh: add a feature branchAdam Spiers2018-05-171-0/+9
|
* create-repo.sh: use foo etc. for changed linesAdam Spiers2018-05-171-4/+4
| | | | Letters are already used for filenames so keep them distinct for clarity.
* create-repo.sh: refactoring into new edit functionAdam Spiers2018-05-171-14/+13
|
* create-repo.sh: start moving code into functionsAdam Spiers2018-05-171-37/+42
|
* add 1.0.2 changes to CHANGES.rst1.0.2Adam Spiers2018-05-171-0/+9
|
* fix .rst formattingAdam Spiers2018-05-171-8/+8
|
* add a brief maintainer's guideAdam Spiers2018-05-171-0/+44
|
* add sdist environment to toxAdam Spiers2018-05-171-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 npmAdam Spiers2018-05-171-0/+4
|
* add 1.0.1 changes to CHANGES.rst1.0.1Adam Spiers2018-05-171-0/+9
|
* update dagre based on security advice from npmAdam Spiers2018-05-171-5/+5
|
* avoid PyScaffold bug with newer setuptoolsAdam Spiers2018-05-161-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?