Re: [webkit-dev] webkit-patch and SVN

2010-04-15 Thread Darin Fisher
On Wed, Apr 14, 2010 at 5:06 PM, Adam Barth aba...@webkit.org wrote:

 On Wed, Apr 14, 2010 at 4:52 PM, Geoffrey Garen gga...@apple.com wrote:
  I'd rather keep the current behavior and have it operate on the entire
  repository. I think it will be too easy to make mistakes and leave out
  large portions of a patch if it only operates upon the current working
  directory.
 
  That's a fixable mistake, though, if/when it happens.
 
  Taking huge amounts of time unnecessarily diff'ing the LayoutTests
 directory is a fixed cost that is unavoidable and unfixable.

 How long is a huge amount of time?  Here are some stats from my
 laptop.  In the first run, I suspect webkit was not in my disk cache
 (since I recently compiled another checkout):

 ~/svn/webkit3$ time svn diff
 real0m23.437s
 user0m1.936s
 sys 0m7.531s

 In the second run, I suspect webkit was in my disk cache:

 ~/svn/webkit3$ time svn diff
 real0m8.929s
 user0m2.019s
 sys 0m6.012s

 ~/svn/webkit3$ svn --version
 svn, version 1.6.3 (r38063)

 If the diff is taking much longer than these times, you probably have
 a borked SVN working copy.  We've seen really slow working copies when
 the working copy was created with SVN 1.5 and then upgraded to 1.6.
 If your SVN is slow, you might consider blowing away your working copy
 and making a new one with SVN 1.6.

 Adam



This may not seem like a huge difference, but 23 seconds is enough to
encourage me to cd WebCore before running svn-create-patch or
prepare-ChangeLog.

-Darin
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] webkit-patch and SVN

2010-04-15 Thread Adam Barth
On Wed, Apr 14, 2010 at 11:47 PM, Darin Fisher da...@chromium.org wrote:
 On Wed, Apr 14, 2010 at 5:06 PM, Adam Barth aba...@webkit.org wrote:
 On Wed, Apr 14, 2010 at 4:52 PM, Geoffrey Garen gga...@apple.com wrote:
  I'd rather keep the current behavior and have it operate on the entire
  repository. I think it will be too easy to make mistakes and leave out
  large portions of a patch if it only operates upon the current working
  directory.
 
  That's a fixable mistake, though, if/when it happens.
 
  Taking huge amounts of time unnecessarily diff'ing the LayoutTests
  directory is a fixed cost that is unavoidable and unfixable.

 How long is a huge amount of time?  Here are some stats from my
 laptop.  In the first run, I suspect webkit was not in my disk cache
 (since I recently compiled another checkout):

 ~/svn/webkit3$ time svn diff
 real    0m23.437s
 user    0m1.936s
 sys     0m7.531s

 In the second run, I suspect webkit was in my disk cache:

 ~/svn/webkit3$ time svn diff
 real    0m8.929s
 user    0m2.019s
 sys     0m6.012s

 ~/svn/webkit3$ svn --version
 svn, version 1.6.3 (r38063)

 If the diff is taking much longer than these times, you probably have
 a borked SVN working copy.  We've seen really slow working copies when
 the working copy was created with SVN 1.5 and then upgraded to 1.6.
 If your SVN is slow, you might consider blowing away your working copy
 and making a new one with SVN 1.6.

 This may not seem like a huge difference, but 23 seconds is enough to
 encourage me to cd WebCore before running svn-create-patch or
 prepare-ChangeLog.

Does that mean you're not writing tests for your changes?  ;)

I don't have a good sense for what SVN workflows are like.  I've
switched over to SVN for a bit to try to understand how it works, but
I haven't learned all the tricks yet.

Adam
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] webkit-patch and SVN

2010-04-15 Thread Darin Fisher
On Thu, Apr 15, 2010 at 12:09 AM, Adam Barth aba...@webkit.org wrote:

 On Wed, Apr 14, 2010 at 11:47 PM, Darin Fisher da...@chromium.org wrote:
  On Wed, Apr 14, 2010 at 5:06 PM, Adam Barth aba...@webkit.org wrote:
  On Wed, Apr 14, 2010 at 4:52 PM, Geoffrey Garen gga...@apple.com
 wrote:
   I'd rather keep the current behavior and have it operate on the
 entire
   repository. I think it will be too easy to make mistakes and leave
 out
   large portions of a patch if it only operates upon the current
 working
   directory.
  
   That's a fixable mistake, though, if/when it happens.
  
   Taking huge amounts of time unnecessarily diff'ing the LayoutTests
   directory is a fixed cost that is unavoidable and unfixable.
 
  How long is a huge amount of time?  Here are some stats from my
  laptop.  In the first run, I suspect webkit was not in my disk cache
  (since I recently compiled another checkout):
 
  ~/svn/webkit3$ time svn diff
  real0m23.437s
  user0m1.936s
  sys 0m7.531s
 
  In the second run, I suspect webkit was in my disk cache:
 
  ~/svn/webkit3$ time svn diff
  real0m8.929s
  user0m2.019s
  sys 0m6.012s
 
  ~/svn/webkit3$ svn --version
  svn, version 1.6.3 (r38063)
 
  If the diff is taking much longer than these times, you probably have
  a borked SVN working copy.  We've seen really slow working copies when
  the working copy was created with SVN 1.5 and then upgraded to 1.6.
  If your SVN is slow, you might consider blowing away your working copy
  and making a new one with SVN 1.6.
 
  This may not seem like a huge difference, but 23 seconds is enough to
  encourage me to cd WebCore before running svn-create-patch or
  prepare-ChangeLog.

 Does that mean you're not writing tests for your changes?  ;)

 I don't have a good sense for what SVN workflows are like.  I've
 switched over to SVN for a bit to try to understand how it works, but
 I haven't learned all the tricks yet.

 Adam



It is common for me to re-create WebCore/ChangeLog as I modify my solution,
and I've also worked on a fair number of patches that are just porting /
getting existing tests to pass :-/

My workflow with svn is to work from a subdirectory if I can to minimize the
cost of svn operations.  If I need to work from the topmost directory, then
I typically specify the directories I'm interested in on the svn command
line (e.g., svn commit WebCore LayoutTests).  That way the commands run
faster.

-Darin
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] webkit-patch and SVN

2010-04-15 Thread Alexey Proskuryakov

15.04.2010, в 00:37, Darin Fisher написал(а):

 If I need to work from the topmost directory, then I typically specify the 
 directories I'm interested in on the svn command line (e.g., svn commit 
 WebCore LayoutTests).  That way the commands run faster.

That's what I usually do, but I rarely pass the whole LayoutTests directory:

prepare-ChangeLog WebCore LayoutTests/fast/dom
svn ci WebCore LayoutTests/fast/dom LayoutTests/ChangeLog

- WBR, Alexey Proskuryakov

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


[webkit-dev] webkit-patch and SVN

2010-04-14 Thread Eric Seidel
Anders brought to my attention this afternoon that webkit-patch
currently does all SVN operations from the root directory instead of
being current-directory aware.  That behavior matches how Git
operates, but does not need to be how webkit-patch operates.

Question: Do SVN users wish to have webkit-patch be
current-working-directory aware?

Meaning:
upload will only prepare-ChangeLog for the current directory and
upload an svn diff under the current directory.
land will only land the current subdirectory.

The propose change will make webkit-patch inconsistent between VCS
tools, but consistent with the users choice of SVN vs. Git.  Is this
SVN users desired behavior?

-eric
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] webkit-patch and SVN

2010-04-14 Thread Kenneth Russell
On Wed, Apr 14, 2010 at 2:13 PM, Eric Seidel e...@webkit.org wrote:
 Anders brought to my attention this afternoon that webkit-patch
 currently does all SVN operations from the root directory instead of
 being current-directory aware.  That behavior matches how Git
 operates, but does not need to be how webkit-patch operates.

 Question: Do SVN users wish to have webkit-patch be
 current-working-directory aware?

 Meaning:
 upload will only prepare-ChangeLog for the current directory and
 upload an svn diff under the current directory.
 land will only land the current subdirectory.

 The propose change will make webkit-patch inconsistent between VCS
 tools, but consistent with the users choice of SVN vs. Git.  Is this
 SVN users desired behavior?

I'd rather keep the current behavior and have it operate on the entire
repository. I think it will be too easy to make mistakes and leave out
large portions of a patch if it only operates upon the current working
directory.

-Ken
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] webkit-patch and SVN

2010-04-14 Thread Geoffrey Garen
 I'd rather keep the current behavior and have it operate on the entire
 repository. I think it will be too easy to make mistakes and leave out
 large portions of a patch if it only operates upon the current working
 directory.

That's a fixable mistake, though, if/when it happens.

Taking huge amounts of time unnecessarily diff'ing the LayoutTests directory is 
a fixed cost that is unavoidable and unfixable.

Geoff
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] webkit-patch and SVN

2010-04-14 Thread Adam Barth
On Wed, Apr 14, 2010 at 4:52 PM, Geoffrey Garen gga...@apple.com wrote:
 I'd rather keep the current behavior and have it operate on the entire
 repository. I think it will be too easy to make mistakes and leave out
 large portions of a patch if it only operates upon the current working
 directory.

 That's a fixable mistake, though, if/when it happens.

 Taking huge amounts of time unnecessarily diff'ing the LayoutTests directory 
 is a fixed cost that is unavoidable and unfixable.

How long is a huge amount of time?  Here are some stats from my
laptop.  In the first run, I suspect webkit was not in my disk cache
(since I recently compiled another checkout):

~/svn/webkit3$ time svn diff
real0m23.437s
user0m1.936s
sys 0m7.531s

In the second run, I suspect webkit was in my disk cache:

~/svn/webkit3$ time svn diff
real0m8.929s
user0m2.019s
sys 0m6.012s

~/svn/webkit3$ svn --version
svn, version 1.6.3 (r38063)

If the diff is taking much longer than these times, you probably have
a borked SVN working copy.  We've seen really slow working copies when
the working copy was created with SVN 1.5 and then upgraded to 1.6.
If your SVN is slow, you might consider blowing away your working copy
and making a new one with SVN 1.6.

Adam
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] webkit-patch and SVN

2010-04-14 Thread Dirk Pranke
On Wed, Apr 14, 2010 at 2:13 PM, Eric Seidel e...@webkit.org wrote:
 Question: Do SVN users wish to have webkit-patch be
 current-working-directory aware?
[snip]
 The propose change will make webkit-patch inconsistent between VCS
 tools, but consistent with the users choice of SVN vs. Git.  Is this
 SVN users desired behavior?

I will surprise myself here and say that webkit-patch should do things
the SVN way when using SVN and the Git way when using Git.
Normally I am in favor of having VCS wrappers paper over the
differences between systems, but from experience I can say that when
using SVN I often have multiple changes in flight in a single
checkout, whereas Git makes that very difficult. Since this means you
can't get the SVN way using Git, it would mean that we'd have to use
the Git way when using SVN, which would remove useful functionality
and, as Geoffrey Garen point out, make submitting via SVN
substantially slower to boot.

-- Dirk


 -eric
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] webkit-patch and SVN

2010-04-14 Thread Maciej Stachowiak


On Apr 14, 2010, at 2:13 PM, Eric Seidel wrote:


Anders brought to my attention this afternoon that webkit-patch
currently does all SVN operations from the root directory instead of
being current-directory aware.  That behavior matches how Git
operates, but does not need to be how webkit-patch operates.

Question: Do SVN users wish to have webkit-patch be
current-working-directory aware?

Meaning:
upload will only prepare-ChangeLog for the current directory and
upload an svn diff under the current directory.
land will only land the current subdirectory.

The propose change will make webkit-patch inconsistent between VCS
tools, but consistent with the users choice of SVN vs. Git.  Is this
SVN users desired behavior?


As an SVN user, I would prefer if webkit-patch operations that create  
a patch worked on the current directory or below, and failed if you  
are in a directory that does not contain a ChangeLog. I sometimes have  
independently landable patches in JavaScriptCore an in WebCore 
+LayoutTests and it is handy to be able to use webkit-patch without  
having to locally revert one of the two patches.


Regards,
Maciej

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] webkit-patch and SVN

2010-04-14 Thread Kalle Vahlman
2010/4/15 Dirk Pranke dpra...@chromium.org:
 On Wed, Apr 14, 2010 at 2:13 PM, Eric Seidel e...@webkit.org wrote:
 Question: Do SVN users wish to have webkit-patch be
 current-working-directory aware?
 [snip]
 The propose change will make webkit-patch inconsistent between VCS
 tools, but consistent with the users choice of SVN vs. Git.  Is this
 SVN users desired behavior?

 I will surprise myself here and say that webkit-patch should do things
 the SVN way when using SVN and the Git way when using Git.
 Normally I am in favor of having VCS wrappers paper over the
 differences between systems, but from experience I can say that when
 using SVN I often have multiple changes in flight in a single
 checkout, whereas Git makes that very difficult.

How so? You can stage or commit single files or directories, even a
single chunk of the changes within a file if you use the interactive
add. git diff also can show changes in a single file or directory, git
log can show the changelog for single file or directory... All you
need to do is to give the file or directory on the command line,
separated with -- in case there is (possibility of) a  clash with a
symbolic commit name (tag or branch).

 Since this means you
 can't get the SVN way using Git, it would mean that we'd have to use
 the Git way when using SVN, which would remove useful functionality
 and, as Geoffrey Garen point out, make submitting via SVN
 substantially slower to boot.

Given the above, I believe it would be quite possible to make the git
part of the script cwd-aware too.

-- 
Kalle Vahlman, z...@iki.fi
Powered by http://movial.com
Interesting stuff at http://sandbox.movial.com
See also http://syslog.movial.fi
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] webkit-patch and SVN

2010-04-14 Thread Dirk Pranke
On Wed, Apr 14, 2010 at 9:49 PM, Kalle Vahlman kalle.vahl...@gmail.com wrote:
 2010/4/15 Dirk Pranke dpra...@chromium.org:
 On Wed, Apr 14, 2010 at 2:13 PM, Eric Seidel e...@webkit.org wrote:
 Question: Do SVN users wish to have webkit-patch be
 current-working-directory aware?
 [snip]
 The propose change will make webkit-patch inconsistent between VCS
 tools, but consistent with the users choice of SVN vs. Git.  Is this
 SVN users desired behavior?

 I will surprise myself here and say that webkit-patch should do things
 the SVN way when using SVN and the Git way when using Git.
 Normally I am in favor of having VCS wrappers paper over the
 differences between systems, but from experience I can say that when
 using SVN I often have multiple changes in flight in a single
 checkout, whereas Git makes that very difficult.

 How so? You can stage or commit single files or directories, even a
 single chunk of the changes within a file if you use the interactive
 add. git diff also can show changes in a single file or directory, git
 log can show the changelog for single file or directory... All you
 need to do is to give the file or directory on the command line,
 separated with -- in case there is (possibility of) a  clash with a
 symbolic commit name (tag or branch).


You're right about that. I was thinking more of things like svn
status only looks at the subtree whereas git status will always
look at the whole tree. This makes it easy for people to write tools
on top of SVN for managing multiple changes in flight at once (like
gclient), whereas I've not seen people try to do that with Git (you
could do it with 'git stash', but, of course, Git has so many knobs
you can do just about anything).

-- Dirk
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev