Commit Graph

29 Commits (79d42dfb11746abb523643428926f2e745834d90)

Author SHA1 Message Date
Edward Lesmes f8792079d2 Revert "Fix checkout.py issues when p.patchlevel > 1."
This reverts commit 5908f9906d.

Reason for revert:
Introduces bugs when deleting files.
The reason is that 
  patchlevel = patchlevel or self.patchlevel
will evaluate to self.patchlevel also when patchlevel is 0, which is wrong.

Original change's description:
> Fix checkout.py issues when p.patchlevel > 1.
> 
> When p.patchlevel > 1, p.filename does not correspond to the files that
> git-apply would modify.
> 
> See bug for details
> 
> Bug: 764294
> Change-Id: Icdb803056e306edb25238b2d9cdabd3ff175d8ed
> Reviewed-on: https://chromium-review.googlesource.com/663357
> Reviewed-by: Aaron Gable <agable@chromium.org>
> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>

TBR=kjellander@chromium.org,agable@chromium.org,ehmaldonado@chromium.org

Change-Id: Ifa1f94602a023228cb32e5fe3fa07586b466981a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 764294
Reviewed-on: https://chromium-review.googlesource.com/663266
Reviewed-by: Edward Lesmes <ehmaldonado@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
8 years ago
Edward Lemur 5908f9906d Fix checkout.py issues when p.patchlevel > 1.
When p.patchlevel > 1, p.filename does not correspond to the files that
git-apply would modify.

See bug for details

Bug: 764294
Change-Id: Icdb803056e306edb25238b2d9cdabd3ff175d8ed
Reviewed-on: https://chromium-review.googlesource.com/663357
Reviewed-by: Aaron Gable <agable@chromium.org>
Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
8 years ago
sullivan@chromium.org 8770f48dfd Fix filename checks
BUG=

Review URL: https://codereview.chromium.org/1160663007

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295430 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
phajdan.jr@chromium.org ca85801d15 Adjust file name blacklist in patch.py
- allow the percent sign ('%')
- disallow characters from Windows blacklist https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247.aspx#naming_conventions

BUG=467152

Review URL: https://codereview.chromium.org/1035193002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@294591 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
nick@chromium.org ff526198c4 presubmit_support: Call git once per change, to get a diff for all files. Parse this result to generate per-file diffs, which go into a cache that's shared between the AffectedFile instances.
Greatly improves presubmit performance on Blink where there may be rule violations (my test case went from 50s to 5s).

BUG=236206
TEST=new test in presubmit_unittest.py; manual performance test on Mac and Windows after touching hundreds of files in webkit; testing included add/move/edit/delete on both binary and text files.

Review URL: https://chromiumcodereview.appspot.com/15898005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@205275 0039d316-1c4b-4281-b951-d872f2087c98
12 years ago
maruel@chromium.org 4dd9f7205a Make apply_issue.py much more verbose about what it's doing.
It's to help users figuring out what is happening.

TBR=rogerta@chromium.org
BUG=153284


Review URL: https://chromiumcodereview.appspot.com/11028002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@159504 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org e1a0376aa1 Fix applying svn:executable on Windows.
For an unknown reason, 'svn propset svn:executable * foo.sh' doesn't work on
Windows. It is even more awkward that 'svn propset svn:executable . foo.sh'
works just fine, in particular, subversion replaces the value, as long as it's
not an empty string, back to '*'.

R=petermayo@chromium.org
BUG=


Review URL: https://chromiumcodereview.appspot.com/10967071

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@158281 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org dffc73cb44 Fix applying git diff with new file mode 644 on a svn checkout.
svn propdel svn:executable shouldn't be called on it.

R=petermayo@chromium.org
BUG=150960


Review URL: https://chromiumcodereview.appspot.com/10962038

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@158038 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org de800ff7b0 Fix the patch application sorting.
It relied on a behavior that doesn't hold on python 2.7 anymore w.r.t. tuple
comparison to non-tuple objects.

Now be explicit about having source files to be first.

R=rogerta@chromium.org
BUG=


Review URL: https://chromiumcodereview.appspot.com/10915240

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@156355 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org d7ca616cf1 Enable support to remove the executable bit on the CQ.
R=petermayo@chromium.org
BUG=124817


Review URL: https://chromiumcodereview.appspot.com/10890039

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@153908 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 17fa4beec4 Fix hunk handling for 'default hunk header values'.
Add new test cases to verify it properly handles "-1 +1, 2" and "-1 +1" for
short files.

R=petermayo@chromium.org
BUG=


Review URL: https://chromiumcodereview.appspot.com/10894036

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@153906 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 8fab6b66ff Fix unicode upgrade of patch.
When a diff contains utf8 character, the filename would be stored as a unicode
object instead of a str. This is even if the buffer is originally sent as a
utf-8 encoded str. Then once the diff is reconstructed to be sent to 'patch', a
unicode object instead of a str would be sent, confusing patch.

R=cmp@chromium.org
BUG=
TEST=


Review URL: http://codereview.chromium.org/9387024

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@122361 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org db1fd78fcb Fix for single line file modification
When a file contains a single line of text, svn diff will generate an odd hunk
header. Modify the hunk parsing code to accept this format.

R=dpranke@chromium.org
BUG=
TEST=


Review URL: http://codereview.chromium.org/9147056

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@117143 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org cf602553bc Fix svn delete handling (again).
Fix RAW.NEW_NOT_NULL parsing to detect correctly it's a new file.

Add proper Hunk parsing to fix these 2 bugs.

R=dpranke@chromium.org
BUG=109715
TEST=CQ'ing a patch generated with svn that delete files is applied properly, e.g. the file is deleted and not simple 0-length.


Review URL: http://codereview.chromium.org/9167015

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@117084 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 4005225a36 Fix deleted empty files.
Add relevant new tests.

R=dpranke@chromium.org
BUG=
TEST=


Review URL: http://codereview.chromium.org/8539016

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@109692 0039d316-1c4b-4281-b951-d872f2087c98
13 years ago
maruel@chromium.org 5e975633a8 Fix handling of file renames.
The patches needs to by applied 'in-order' to not delete source files.

Added more tests.

R=dpranke@chromium.org
BUG=94330
TEST=

Review URL: http://codereview.chromium.org/8038056

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@103309 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 8baaea7b83 Add automatic is_new=True on git copy or rename.
R=dpranke@chromium.org
BUG=
TEST=


Review URL: http://codereview.chromium.org/7847005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@100140 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org a19047cdf4 Add support forcopied and renamed files.
R=dpranke@chromium.org
BUG=
TEST=


Review URL: http://codereview.chromium.org/6874006

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@100138 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org be60565b8a Improve is_delete detection.
Make tests more exhaustive in prospect to file move handling.
Rename 'c' variables to 'p' to easy copy paste.

R=dpranke@chromium.org
BUG=
TEST=


Review URL: http://codereview.chromium.org/7828017

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@99439 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org be113f1365 Make filename processing a static method.
This is in preparation to support file rename, as a source_filename needs to be
added and processed.

R=dpranke@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7809001

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@99185 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 378a419f0d git diff can have 'new file mode' for new files and 'new mode' for current files
R=dpranke@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7065074

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@87979 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 86eb9e7583 +x is bit 0, not 2. :(
TBR=dpranke@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7112016

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@87844 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 97366bef6c Increase coverage to 91%; Much stricter about header parsing.
Add is_new to be used in a later patch by checkout classes.

R=dpranke@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7054048

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@87838 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org b6ffdaf3c0 Add support for executables in git-svn patches applied on svn.
R=dpranke@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7056045

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@87827 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 8a1396cd72 Add post_process argument to Checkout.apply_patch().
This enables doing late modifications like updating the copyright notice or fixing line endings.

Also silence the checkout operations a bit more when VOID=subprocess2.VOID.

Add corresponding unit tests.

Review URL: http://codereview.chromium.org/6891003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@82587 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org c4b5e76d7e Improve patch handling and tests.
R=dpranke@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/6877038

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@82406 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org 61e0b691d6 Add script to apply a patch from rietveld.
At the moment it just fetches the patch. It's still useful to debug rietveld
issues.

Improve resiliency to invalid patches.

R=dpranke@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/6825085

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@81305 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org cd6194027f Add support to put a patchset into a subdirectory.
Add better code to handle diff header, especially add more patch verification
code.

Add a lot of tests.

Add mangling of \ to /.

R=dpranke@chromium.org
BUG=78561
TEST=

Review URL: http://codereview.chromium.org/6802021

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@81017 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago
maruel@chromium.org b3727a36e4 Move patch.py and rietveld.py from commit-queue.
It will be used for:
- git cl patch so binary files can be patched
- try jobs instead of doing a curl <url> | patch

BUG=
TEST=

Review URL: http://codereview.chromium.org/6792028

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@80355 0039d316-1c4b-4281-b951-d872f2087c98
14 years ago