Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-05-11 Thread LRN
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 04.05.2014 20:06, LRN wrote:
 On 04.05.2014 19:50, Dongsheng Song wrote:
 On Sun, May 4, 2014 at 10:09 PM, JonY wrote:
 On 5/4/2014 12:17, NightStrike wrote:
 
 Now... that said, there's a few things that I didn't see addressed 
 anywhere in this thread.
 
 1) Jon, you had asked me to setup a mailing list for svn commits.
 I did so.  Then SF added their own thing that just sends the commit
  message without the patch in the body.  So now we have both.  What 
 is your plan with doing that for git?  Are you going to still email 
 messages to a list?  Are you going to do it per commit, or per 
 merge? Binutils recently tackled this same question, and they 
 settled on 1 email per commit.  Also, would you only want emails on 
 a certain branch?
 
 
 Per commit please, all branches.
 
 Due to git merge, the commit maybe out of order, could you consider 1 
 email per push?
 
 Do rebase-with-history instead \o/
 
 

Just tested git-imerge rebase --goal=rebase-with-history on a simple situation:

Feature-branch split off master at a forkpoint, advanced by 2 commits
(commit1 and commit2) past the forkpoint; master branch advanced by 1 commit
(master1) past the forkpoint:

00c812f - master1
 \
  commit1 - commit2

the result is:

$ git log --graph --oneline --all
*   1c1b38e imerge 'feature-branch': automatic merge 1-2
|\
| * 8feb020 commit2
* |   af7c2da imerge 'feature-branch': automatic merge 1-1
|\ \
| |/
| * acad1b5 commit1
* | 442456a master1
|/
* 00c812f _chgsignl: Add ARM implementation

Normal git log is:

$ git log -6 --format=fuller
commit 1c1b38e51c5acb5478733bcf55f61e327a594994
Merge: af7c2da 8feb020
Author: LRN
AuthorDate: Mon May 12 00:00:24 2014 +0400
Commit: LRN
CommitDate: Mon May 12 00:00:24 2014 +0400

imerge 'feature-branch': automatic merge 1-2

commit af7c2da4c1e0d8101b44ffd9827b7cdf7a3c3b5f
Merge: 442456a acad1b5
Author: LRN
AuthorDate: Mon May 12 00:00:24 2014 +0400
Commit: LRN
CommitDate: Mon May 12 00:00:24 2014 +0400

imerge 'feature-branch': automatic merge 1-1

commit 442456ae2db4a507360b09ef16881ff8300e9c3a
Author: LRN
AuthorDate: Sun May 11 18:19:21 2014 +
Commit: LRN
CommitDate: Sun May 11 18:19:21 2014 +

master1

commit 8feb0205b8a6b0500d52f86e2661bcfde2f575ed
Author: LRN
AuthorDate: Sun May 11 18:01:43 2014 +
Commit: LRN
CommitDate: Sun May 11 18:01:43 2014 +

commit2

commit acad1b5a387c795f60908734b95b7c45dff83caa
Author: LRN
AuthorDate: Sun May 11 18:01:31 2014 +
Commit: LRN
CommitDate: Sun May 11 18:01:31 2014 +

commit1

commit 00c812f1a1422e89791932d6c814acbe51c31226
Author: André Hentschel
AuthorDate: Fri May 9 21:58:25 2014 +
Commit: André Hentschel
CommitDate: Fri May 9 21:58:25 2014 +

_chgsignl: Add ARM implementation

git-svn-id: svn+ssh://svn.code.sf.net/p/mingw-w64/code/trunk@6620
4407c894-4637-0410-b4f5-ada5f102cad1




- -- 
O ascii ribbon - stop html email! - www.asciiribbon.org
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (MingW32)

iQEcBAEBAgAGBQJTb9vYAAoJEOs4Jb6SI2CwGRgH/jxSzEdnJtE5pcTUaAkcMMCk
kerglo7iKkIT2KtEV5+HXALxGTWvJwoLwnMJFw69RTLiP5BN+7OystMVPcAU2IFW
n4b9yDoaGVGeXOSI0nznFTEktSOad0r1vBfRr5RQe11O+0r0Gbl9m+xtc1O73/ab
REZbQUMbk8AkLPsnB9LU5Ja2YEQYKVmFeXI8EBcjcPGgxjNVepK3IjDfN5NQRw3h
APc4Yu2Fb/C+x+j1BIow0615wyaKwMKNvgOYjhs0abDfbroKvDiONxtb6NDjIrtE
sHgtxfLw5p67ROBIci0Ts2HXAjqcRjjnF+7CQxrOWhtIxO1oo5+r7lK5WALA3ps=
=kAst
-END PGP SIGNATURE-

--
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
#149; 3 signs your SCM is hindering your productivity
#149; Requirements for releasing software faster
#149; Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-05-05 Thread Adrien Nader
On Mon, May 05, 2014, JonY wrote:
  This is a simple change in vim's configuration file (in the case SF
  doesn't changing that in some Web UI). I don't think I can check on
  jon_y's repo (seems I don't have the rights to access it through ssh).
  
 
 Right now, I made it readonly except to administrators, I'll try to
 allow you access to it.
 

Thanks, works.

From /home/git/p/mingw-w64/mingw-w64.git/config:
  [receive]
  denyNonFastforwards = true

I don't know if you're the one who put it there or if it's by default
but in any case, this is what forbids rewriting history.

-- 
Adrien Nader

--
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
#149; 3 signs your SCM is hindering your productivity
#149; Requirements for releasing software faster
#149; Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-05-04 Thread JonY
On 5/4/2014 12:17, NightStrike wrote:
 
 Now... that said, there's a few things that I didn't see addressed
 anywhere in this thread.
 
 1) Jon, you had asked me to setup a mailing list for svn commits.  I
 did so.  Then SF added their own thing that just sends the commit
 message without the patch in the body.  So now we have both.  What is
 your plan with doing that for git?  Are you going to still email
 messages to a list?  Are you going to do it per commit, or per merge?
 Binutils recently tackled this same question, and they settled on 1
 email per commit.  Also, would you only want emails on a certain
 branch?
 

Per commit please, all branches.

 2) Seeing as how it just came up on the mingw list, how does
 authenticity verification of changes happen when someone wants to
 merge in a big change?  On said list, people made the claim that this
 project doesn't check that commits are legally safe.  Under svn, every
 change gets checked by someone before it is committed.  What will be
 the new procedure, if a person has a giant blob to merge in?
 Admittedly, the problem is still there in svn (like that time you
 merged in the vista headers... lol :) but it's more common under git,
 I think.  Consider putting some thought into how you will accept large
 changes from a was this copied from proprietary sources? standpoint.
 

It is the same situation under SVN, any developer with write access can
simply push their changes since, by definition they do actually have
write access, although sending for review highly recommended. Git does
open an avenue to pull style reviews, so even the authors without
write access have the chance to publicly host their code (eg github)
before it is pulled into mingw-w64. The vista headers was more of a
miscommunication, I really thought you gave the green light to commit.

 3) svn history is impossible to change.  git history is purposely
 malleable, usually so that a user can merge a clean branch without all
 the false starts that come from development.  How will you stop users
 from (possibly inadvertently) changing the history of whatever trunk
 becomes in an undesirable way?  Maybe it's a non-issue?  I don't
 expect malice, but I could easily see a user accidentally doing that.
 I've done it myself, actually, on two occasions, the first of which
 required a restore-from-backup (oops..).
 

git would reject the push if the commit checksum before it did not
match. As with SVN, it will block if your changes if it is not based on
the latest revision.

 4) How does the release process change as documented here:
 http://sourceforge.net/apps/trac/mingw-w64/wiki/VersionSpec
 

It's still the same, we branch on major versions and tag for every release.

 5) This is kind of a pie-in-the-sky thing, but is it at all possible
 to keep an svn mirror of the git repo, so that all those many links
 out there in the wild still work?  Might be nice, probably not
 possible.  Oh well.
 

It is possible to keep it in sync, the major hurdle is that git doesn't
handle SVN metadata, understandably. I opt to keep it read-only and locked.

 6) Is there any way to do a partial checkout with git?  Right now,
 someone can check out just a small piece of the whole repo, whatever
 is interesting.  How do you do that in git?  I have only ever been
 able to figure out how to do the whole thing.  On one project that I'm
 on, the svn repo is a few terabytes.  That's a blocker for that
 project switching to git -- it doesn't scale well at all.  If you know
 how to deal with that, I'd be interested.  The only answer we've ever
 found was split it into many repos, which obviously isn't a viable
 solution or we would have done it already.
 

Actually, git cloning the entire repo turns out to be faster than SVN
doing partial checkouts, I don't see this as much of a hurdle.

 Anyway, those are my questions.  Obviously I'm just an outsider at
 this point, so feel free to ignore the whole email if you want.  I
 mainly felt compelled to read the thread because completely
 coincidentally, another project I'm on is switching from a very old
 system to git, and doing it very poorly.  Then, of course, after
 reading, I saw that the primary reason has to do with a concern I
 raised 3 years ago..  But anyway, take it all for what it's worth
 -- just another email in the inbox.  Have fun, happy hacking.

Please come back, we miss you :)




signature.asc
Description: OpenPGP digital signature
--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net

Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-05-04 Thread Adrien Nader
On Sun, May 04, 2014, JonY wrote:
 On 5/4/2014 12:17, NightStrike wrote:
  
  Now... that said, there's a few things that I didn't see addressed
  anywhere in this thread.
  
  1) Jon, you had asked me to setup a mailing list for svn commits.  I
  did so.  Then SF added their own thing that just sends the commit
  message without the patch in the body.  So now we have both.  What is
  your plan with doing that for git?  Are you going to still email
  messages to a list?  Are you going to do it per commit, or per merge?
  Binutils recently tackled this same question, and they settled on 1
  email per commit.  Also, would you only want emails on a certain
  branch?
  
 
 Per commit please, all branches.
 
  2) Seeing as how it just came up on the mingw list, how does
  authenticity verification of changes happen when someone wants to
  merge in a big change?  On said list, people made the claim that this
  project doesn't check that commits are legally safe.  Under svn, every
  change gets checked by someone before it is committed.  What will be
  the new procedure, if a person has a giant blob to merge in?
  Admittedly, the problem is still there in svn (like that time you
  merged in the vista headers... lol :) but it's more common under git,
  I think.  Consider putting some thought into how you will accept large
  changes from a was this copied from proprietary sources? standpoint.
  
 
 It is the same situation under SVN, any developer with write access can
 simply push their changes since, by definition they do actually have
 write access, although sending for review highly recommended. Git does
 open an avenue to pull style reviews, so even the authors without
 write access have the chance to publicly host their code (eg github)
 before it is pulled into mingw-w64. The vista headers was more of a
 miscommunication, I really thought you gave the green light to commit.

It is also possible to have users changes on a branch on the SF
repository and have someone merge them in the master branch.
For instance at work we have branches named
users/${user}/${branch_name}, i.e. users/adrien/break-everything.
It was possible to finetune the rights to such branches and to the
master branch independently. While this was enforced by the software,
I'm confident it could also be a process enforced through the ancestral
method of hitting with a baseball bat people who do things wrong (in the
event SF does not allow restriction through software).

I'm happy with restricting the rights to the main branch because there
is a strong guarantee the commits have been reviewed.

  3) svn history is impossible to change.  git history is purposely
  malleable, usually so that a user can merge a clean branch without all
  the false starts that come from development.  How will you stop users
  from (possibly inadvertently) changing the history of whatever trunk
  becomes in an undesirable way?  Maybe it's a non-issue?  I don't
  expect malice, but I could easily see a user accidentally doing that.
  I've done it myself, actually, on two occasions, the first of which
  required a restore-from-backup (oops..).
  
 
 git would reject the push if the commit checksum before it did not
 match. As with SVN, it will block if your changes if it is not based on
 the latest revision.

Moreover, git has the ability to allow forcing such operations and to
deny forcing them. The master branch should never allow them and the
rage from users who have to endure such changes is most often enough to
deter anyone from doing so anyway (and I'm ready to send a snail-mail
handwritten letter to anyone doing so).

  6) Is there any way to do a partial checkout with git?  Right now,
  someone can check out just a small piece of the whole repo, whatever
  is interesting.  How do you do that in git?  I have only ever been
  able to figure out how to do the whole thing.  On one project that I'm
  on, the svn repo is a few terabytes.  That's a blocker for that
  project switching to git -- it doesn't scale well at all.  If you know
  how to deal with that, I'd be interested.  The only answer we've ever
  found was split it into many repos, which obviously isn't a viable
  solution or we would have done it already.
  
 
 Actually, git cloning the entire repo turns out to be faster than SVN
 doing partial checkouts, I don't see this as much of a hurdle.

More precisely, git is fast to clone by batching files: it packs them
and transfers the packs. When I tried JonY's read-only git repo, I ended
up cloning at 2MB/s (max of the line) and was done in 10 seconds.
The download was a bit more than 20MB. I had previously mentionned 67MB
or so but that was a git-svn clone which most often produces bigger
files than a regular git repository. So 20MB or so and 10 seconds it is
for me.

  Anyway, those are my questions.  Obviously I'm just an outsider at
  this point, so feel free to ignore the whole email if you want.  I
  mainly felt compelled to read the thread because 

Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-05-04 Thread Dongsheng Song
On Sun, May 4, 2014 at 10:09 PM, JonY jo...@users.sourceforge.net wrote:
 On 5/4/2014 12:17, NightStrike wrote:

 Now... that said, there's a few things that I didn't see addressed
 anywhere in this thread.

 1) Jon, you had asked me to setup a mailing list for svn commits.  I
 did so.  Then SF added their own thing that just sends the commit
 message without the patch in the body.  So now we have both.  What is
 your plan with doing that for git?  Are you going to still email
 messages to a list?  Are you going to do it per commit, or per merge?
 Binutils recently tackled this same question, and they settled on 1
 email per commit.  Also, would you only want emails on a certain
 branch?


 Per commit please, all branches.

Due to git merge, the commit maybe out of order, could you consider 1
email per push?

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-05-04 Thread NightStrike
Responding to both of you inline... sort it out :P

On Sun, May 4, 2014 at 10:24 AM, Adrien Nader adr...@notk.org wrote:
 On Sun, May 04, 2014, JonY wrote:
 On 5/4/2014 12:17, NightStrike wrote:
 
  Now... that said, there's a few things that I didn't see addressed
  anywhere in this thread.
 
  1) Jon, you had asked me to setup a mailing list for svn commits.  I
  did so.  Then SF added their own thing that just sends the commit
  message without the patch in the body.  So now we have both.  What is
  your plan with doing that for git?  Are you going to still email
  messages to a list?  Are you going to do it per commit, or per merge?
  Binutils recently tackled this same question, and they settled on 1
  email per commit.  Also, would you only want emails on a certain
  branch?
 

 Per commit please, all branches.

Just to be clear here, I was pointing out the open issue, not
volunteering to do it.  I don't have a clue how to make git do that.

  2) Seeing as how it just came up on the mingw list, how does
  authenticity verification of changes happen when someone wants to
  merge in a big change?  On said list, people made the claim that this
  project doesn't check that commits are legally safe.  Under svn, every
  change gets checked by someone before it is committed.  What will be
  the new procedure, if a person has a giant blob to merge in?
  Admittedly, the problem is still there in svn (like that time you
  merged in the vista headers... lol :) but it's more common under git,
  I think.  Consider putting some thought into how you will accept large
  changes from a was this copied from proprietary sources? standpoint.
 

 It is the same situation under SVN,

Yes, I explicitly pointed that out :)  The difference is in the likelihood.

 any developer with write access can
 simply push their changes since, by definition they do actually have
 write access, although sending for review highly recommended. Git does
 open an avenue to pull style reviews, so even the authors without
 write access have the chance to publicly host their code (eg github)
 before it is pulled into mingw-w64. The vista headers was more of a
 miscommunication, I really thought you gave the green light to commit.

 It is also possible to have users changes on a branch on the SF
 repository and have someone merge them in the master branch.
 For instance at work we have branches named
 users/${user}/${branch_name}, i.e. users/adrien/break-everything.
 It was possible to finetune the rights to such branches and to the
 master branch independently. While this was enforced by the software,
 I'm confident it could also be a process enforced through the ancestral
 method of hitting with a baseball bat people who do things wrong (in the
 event SF does not allow restriction through software).

 I'm happy with restricting the rights to the main branch because there
 is a strong guarantee the commits have been reviewed.

This idea of Adrien's is a good one.  It is common in many projects,
and usually works well.  However, am I understanding it correctly this
workflow?

A) Alice has a change, works in a branch, finishes.
B) Alice posts the change for reviewing somehow (patch to ML, link to
git repo, etc)
C) Someone with expertise approves
D1) Someone with super rights does a git pull into master
D2) Alice does a git push into master

D1 or D2?

If it's D1, you get the security, but that's going to get old real
fast for the few people allowed to do a pull.  D2 opens the door for
irrevocably butchering the whole repo (As I said, I've done this --
it's not hard.)  It also means that everyone is going to be merging
and resolving conflicts differently, based on their own style.  This
is probably the worse of two evils.

If you look at Linux, it uses D1.  There are people who pull changes
into modules, and Linus pulls changes from them into the Real Deal.
This is very different than working in svn, where after a green light
on the ML, Alice would just svn ci.

Actually, there are parallels to svn.  In svn, Alice should do:
svn copy ^/trunk ^/branches/Alice // Create branch
...work in branch...
svn merge ^trunk // Keep branch up to date
svn co ^trunk // Checkout trunk to merge back
svn merge ^/branches/Alice --reintegrate (or not reintegrate for cherry picking)
svn ci

Instead, what usually happens is:
svn co ^/trunk
svn ci

The nature of my August 2011 email was basically this -- we currently
as a project do not branch and merge correctly, or often at all.  Svn
has superb branch/merge capabilities, but they just aren't used.  Now,
what that means is that if you change the VCS to git, you have to
REALLY spell out how to change that workflow, or else you'll be stuck
in an even worse spot.  That means writing down in the wiki a set of
procedures that all developers have to follow:

0) This list is just off the top of my head, surely not exhaustive
1) how you expect changes to propagate
2) who is in charge of what branch
3) how and when is the 

Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-05-04 Thread Adrien Nader
tl:dr; agreed

Also, something not mentioned elsewhere and which I didn't know where to
put: a large appeal of git in mingw-w64 is coherency with other source
repositories. One less tool to master.

On Sun, May 04, 2014, NightStrike wrote:
 Responding to both of you inline... sort it out :P
  any developer with write access can
  simply push their changes since, by definition they do actually have
  write access, although sending for review highly recommended. Git does
  open an avenue to pull style reviews, so even the authors without
  write access have the chance to publicly host their code (eg github)
  before it is pulled into mingw-w64. The vista headers was more of a
  miscommunication, I really thought you gave the green light to commit.
 
  It is also possible to have users changes on a branch on the SF
  repository and have someone merge them in the master branch.
  For instance at work we have branches named
  users/${user}/${branch_name}, i.e. users/adrien/break-everything.
  It was possible to finetune the rights to such branches and to the
  master branch independently. While this was enforced by the software,
  I'm confident it could also be a process enforced through the ancestral
  method of hitting with a baseball bat people who do things wrong (in the
  event SF does not allow restriction through software).
 
  I'm happy with restricting the rights to the main branch because there
  is a strong guarantee the commits have been reviewed.
 
 This idea of Adrien's is a good one.  It is common in many projects,
 and usually works well.  However, am I understanding it correctly this
 workflow?
 
 A) Alice has a change, works in a branch, finishes.
 B) Alice posts the change for reviewing somehow (patch to ML, link to
 git repo, etc)
 C) Someone with expertise approves
 D1) Someone with super rights does a git pull into master
 D2) Alice does a git push into master
 
 D1 or D2?
 
 If it's D1, you get the security, but that's going to get old real
 fast for the few people allowed to do a pull.  D2 opens the door for
 irrevocably butchering the whole repo (As I said, I've done this --
 it's not hard.)  It also means that everyone is going to be merging
 and resolving conflicts differently, based on their own style.  This
 is probably the worse of two evils.
 
 If you look at Linux, it uses D1.  There are people who pull changes
 into modules, and Linus pulls changes from them into the Real Deal.
 This is very different than working in svn, where after a green light
 on the ML, Alice would just svn ci.
 
 Actually, there are parallels to svn.  In svn, Alice should do:
 svn copy ^/trunk ^/branches/Alice // Create branch
 ...work in branch...
 svn merge ^trunk // Keep branch up to date
 svn co ^trunk // Checkout trunk to merge back
 svn merge ^/branches/Alice --reintegrate (or not reintegrate for cherry 
 picking)
 svn ci
 
 Instead, what usually happens is:
 svn co ^/trunk
 svn ci
 
 The nature of my August 2011 email was basically this -- we currently
 as a project do not branch and merge correctly, or often at all.  Svn
 has superb branch/merge capabilities, but they just aren't used.  Now,
 what that means is that if you change the VCS to git, you have to
 REALLY spell out how to change that workflow, or else you'll be stuck
 in an even worse spot.  That means writing down in the wiki a set of
 procedures that all developers have to follow:
 
 0) This list is just off the top of my head, surely not exhaustive
 1) how you expect changes to propagate
 2) who is in charge of what branch
 3) how and when is the right time to rebaseline
 4) how to keep a branch commit history clean
 5) how to branch  This is a big one. I'm not talking about the
 syntax of the command.. I'm talking about what things to consider when
 making a new branch.  Just grabbing HEAD is a **bad** idea.
 This is a somewhat decent reference that you should understand:
 http://www.kdgregory.com/index.php?page=scm.git  Specifically the
 sections Master is for Integration, not Development, and Have an
 Integration Czar.
 
 That last one is paramount.  What I see currently happening is the following:
 
 A) Jon gets a spur of the moment idea to change everything to git
 B) Everyone goes gaga because git's cool
 C) Now we're in git, and everyone knows how to use it. differently
 D) 3 weeks later, the repo is a mess, and you've lost any gain you
 might've had (try doing git-bisect now)
 
 You've done the technical work -- put up test repos, asked people to
 try them, raved about the speed.  But I've not seen any administrative
 work that documents the mingw-w64 way of doing git business.  That's
 not something you're going to throw together in ten minutes using a
 script.  You really need to think about the implications of the
 workflow that's right for THIS project.
 
 This is an issue that you *NEED* to work out before you make this
 thing live, as doing this wrong in git is a LOT harder to clean up
 than doing it wrong 

Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-05-04 Thread JonY
On 5/5/2014 04:27, Adrien Nader wrote:
 tl:dr; agreed
 
 Also, something not mentioned elsewhere and which I didn't know where to
 put: a large appeal of git in mingw-w64 is coherency with other source
 repositories. One less tool to master.
 
 On Sun, May 04, 2014, NightStrike wrote:
 Responding to both of you inline... sort it out :P
 any developer with write access can
 simply push their changes since, by definition they do actually have
 write access, although sending for review highly recommended. Git does
 open an avenue to pull style reviews, so even the authors without
 write access have the chance to publicly host their code (eg github)
 before it is pulled into mingw-w64. The vista headers was more of a
 miscommunication, I really thought you gave the green light to commit.

 It is also possible to have users changes on a branch on the SF
 repository and have someone merge them in the master branch.
 For instance at work we have branches named
 users/${user}/${branch_name}, i.e. users/adrien/break-everything.
 It was possible to finetune the rights to such branches and to the
 master branch independently. While this was enforced by the software,
 I'm confident it could also be a process enforced through the ancestral
 method of hitting with a baseball bat people who do things wrong (in the
 event SF does not allow restriction through software).

 I'm happy with restricting the rights to the main branch because there
 is a strong guarantee the commits have been reviewed.

 This idea of Adrien's is a good one.  It is common in many projects,
 and usually works well.  However, am I understanding it correctly this
 workflow?

 A) Alice has a change, works in a branch, finishes.
 B) Alice posts the change for reviewing somehow (patch to ML, link to
 git repo, etc)
 C) Someone with expertise approves
 D1) Someone with super rights does a git pull into master
 D2) Alice does a git push into master

 D1 or D2?


Why does it matter who pushes? This is the same under SVN, if Alice has
write access, she commits/pushes, if not, someone else does. Under git,
the commit log/user ID isn't affected by whichever route you take.

I do prefer Adrien's pull method though.

 
 This is a simple change in vim's configuration file (in the case SF
 doesn't changing that in some Web UI). I don't think I can check on
 jon_y's repo (seems I don't have the rights to access it through ssh).
 

Right now, I made it readonly except to administrators, I'll try to
allow you access to it.

 6) Is there any way to do a partial checkout with git?  Right now,
 someone can check out just a small piece of the whole repo, whatever
 is interesting.  How do you do that in git?  I have only ever been
 able to figure out how to do the whole thing.  On one project that I'm
 on, the svn repo is a few terabytes.  That's a blocker for that
 project switching to git -- it doesn't scale well at all.  If you know
 how to deal with that, I'd be interested.  The only answer we've ever
 found was split it into many repos, which obviously isn't a viable
 solution or we would have done it already.


 Actually, git cloning the entire repo turns out to be faster than SVN
 doing partial checkouts, I don't see this as much of a hurdle.

 I wasn't asking about mingw-w64.  I was asking in general.  For
 instance, cloning binutils takes FOREVER.
 

Have you compared it to CVS checkout? It too took forever.

 I had witnessed the slowness before so I did a clone on two machines.
 Below are the results (for curiosity).
 One is residential DSL, the other is 100Mbps in a datacenter.
 210MB to download, bandwidth of the DSL was maxed (was at most 600KB/s),
 bandwidth of the DC'ed machine wasn't maxed either but was around 5MB/s.
 
 This is heavily influenced by internet connectivity. I guess
 sourceware's connection isn't incredible and my paths to it weren't
 great either.
 
 Binutils is a large repositoy. There are many large files for the
 testsuites. History in git goes back to 1988. Probably the other reasons
 it is such a big download.
 
 And as said earlier this is not avoidable with git and shallow clones
 don't save that much space either. This is unfortunate and I'm not aware
 of work on that aspect (not sure it's possible to improve).
 

It isn't so bad if you realize you clone only once, you can use local
references if you want to speed up related git repos.

 More precisely, git is fast to clone by batching files: it packs them
 and transfers the packs. When I tried JonY's read-only git repo, I ended
 up cloning at 2MB/s (max of the line) and was done in 10 seconds.
 The download was a bit more than 20MB. I had previously mentionned 67MB
 or so but that was a git-svn clone which most often produces bigger
 files than a regular git repository. So 20MB or so and 10 seconds it is
 for me.

 The mingw-w64 repo is tiny.  I've worked with terabyte repos.  with a T.
 
 I know Microsoft has a lot of dead bodies hidden but I doubt there's
 _that_ _much_. :P 
 

Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-05-03 Thread NightStrike
Wow, I really have been away for a long time.  I found this thread
while cleaning things out now that my 578493578943 projects at work
are finally finishing.  Also, I'm trying to see if we can incorporate
winpthreads in one project :)

I have to say, this is kind of sad, mostly because of 1)
misinformation and 2) negative treatment toward a user with a
different opinion.  I'll address a little of (1) down below.  For
(2)... Jon, why so angry?  If you have good technical reasons for
proposing a switch to git, you should be able to present them
cogently, ideally from the standpoint of We need to solve problem X;
here's my solution., and they should easily stand on their own merit.
 Users are allowed to be dicks.. they're users.  Be nice in return.
Kai taught me that a long time ago.  Some German idiom about not
plucking chickens before they hatch or something  I dunno.

On Wed, Apr 30, 2014 at 2:05 PM, JonY jo...@users.sourceforge.net wrote:
 On 4/30/2014 21:34, Rodny Spillig wrote:

 Because it was a pain to track down patches applied to other branches
 and reapply it again and again, cherry-pick is god sent. Not to mention
 merging is quick and simple. It is also far far easier to do a long term
 private branch in git than in SVN, not to mention, multi-part commit
 patches are nice.

 SVN does all of that easily.  Are you sure you aren't just using it wrong?  
 The notion that it does not branch and merge is very outdated.  There is 
 even a whole section in the manual called Cherry Picking.

 Does SVN allow you to manage a local-only branch that allow merging from
 multiple remotes?

 As far as long term branches, how is svn merge ^/trunk any different than 
 git pull ?


 Will SVN allow change tracking of said branch if it is never committed
 to the server?

The big problem here that git might actually fix is that nobody ever
used svn correctly, despite my requests.  I posted a very long email
to the developer list back in 2011 that basically said don't manually
patch files, use svn merge before making edits.  Search the list for
subject Proper merging of patches, 8/7/11.  I was aggressively shot
down by both Ozkan and Kai, who vehemently defended the notion that we
should never use the merge capabilities of the version control
software.  That's the primary reason why patches between branches are
impossible to tie together.  Fixing this would be great.

If switching to git makes people finally keep accurate merge metadata,
then that is a pretty good thing.  But to be clear, the current
difficulty in tracking down patches and applying them elsewhere is a
facet of how we chose to misuse svn, not the tool itself.  We use svn
where I work, and we branch and merge all day long.  It's wonderfully
easy to do.  It does require a net connection, but for our purposes,
that's fine.  Besides, I'd rather push my work to a server, given how
many laptops I broke this past year :)

 How will you handle all the various things that you currently distribute?
 You have a lot of stuff in your repository, and it all works nicely because
 of how svn treats each directory as essentially a separate repo.  What are
 you going to do about the branches, tags, and experimentals?


 Already mentioned in the original email.

 Not really.  The entire workflow changes drastically, and you've not 
 indicated at all how users should deal with that.


 I have already mentioned branches and tags are migrated, they're all
 there. If you haven't already noticed, git-svn migration preserves
 history fine. Experimentals are outdated and unused and has not seen any
 changes for a long time, and unlikely to see any significant changes soon.

I was about to change a few things in experimental, actually, because
I got a nagging email that buildbot can't handle the binutils switch
from git to cvs.  Although I question whether anyone actually needs
buildbot anymore.  This change will equally break buildbot, so I may
just shut it down.  I don't really maintain it, haven't seen Mook log
in in a while, and I'm not really part of this project anymore (or
haven't been in a long time, and probably haven't been missed).

Other than that, the buildroot makefile is in there, which though
being out of date is still referenced in a lot of places.  And it's
used by buildbot.  It should likewise be updated or removed, pending
what happens to buildbot.  I'll send a separate email for that.

 We chose git because it is far more familiar to the bulk of our
 contributors, namely the ReactOS and Wine developers. Some contributors
 are already using their own git band-aid over SVN. None of our
 developers have even mentioned Mercurial over the years. Bazaar is out
 of the question because SF doesn't have that option.

ReactOS uses SVN, not git.  They even have svn posting to their IRC,
like we used to have with CIA.  Maybe they use both?  This page says
svn, tho:
http://www.reactos.org/development/source-control

I looked back through a month or so of IRC 

Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-30 Thread JonY
Hi,

I have enabled read-only access to the git repos for testing purposes,
the experimental directory is mostly outdated and can be left in SVN.

Do try out the repos (git clone URL):

mingw-w64 proper - git://git.code.sf.net/p/mingw-w64/git
webpage - git://git.code.sf.net/p/mingw-w64/git-web
ironcrate - git://git.code.sf.net/p/mingw-w64/code-ironcrate

The repos should be accessible over http too.




signature.asc
Description: OpenPGP digital signature
--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-30 Thread Ruben Van Boxem
2014-04-30 12:45 GMT+02:00 JonY jo...@users.sourceforge.net:

 Hi,

 I have enabled read-only access to the git repos for testing purposes,
 the experimental directory is mostly outdated and can be left in SVN.

 Do try out the repos (git clone URL):

 mingw-w64 proper - git://git.code.sf.net/p/mingw-w64/git
 webpage - git://git.code.sf.net/p/mingw-w64/git-web
 ironcrate - git://git.code.sf.net/p/mingw-w64/code-ironcrate


Just a small nit: I would name the repo mingw-w64 so that git clone URL
clones into mingw-w64 instead of the current git.

Another small nit: the branches still have tags, (v1.0 and v2.0), maybe get
rid of these for confusion's sake.

Cheers,

Ruben



 The repos should be accessible over http too.




 --
 Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
 Instantly run your Selenium tests across 300+ browser/OS combos.  Get
 unparalleled scalability from the best Selenium testing platform available.
 Simple to use. Nothing to install. Get started now for free.
 http://p.sf.net/sfu/SauceLabs
 ___
 Mingw-w64-public mailing list
 Mingw-w64-public@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-30 Thread JonY
On 4/30/2014 19:18, Ruben Van Boxem wrote:
 2014-04-30 12:45 GMT+02:00 JonY jo...@users.sourceforge.net:
 
 Hi,

 I have enabled read-only access to the git repos for testing purposes,
 the experimental directory is mostly outdated and can be left in SVN.

 Do try out the repos (git clone URL):

 mingw-w64 proper - git://git.code.sf.net/p/mingw-w64/git
 webpage - git://git.code.sf.net/p/mingw-w64/git-web
 ironcrate - git://git.code.sf.net/p/mingw-w64/code-ironcrate

 
 Just a small nit: I would name the repo mingw-w64 so that git clone URL
 clones into mingw-w64 instead of the current git.
 

Sf doesn't allow repo renaming, but sure, I can move it the hard way :)

 Another small nit: the branches still have tags, (v1.0 and v2.0), maybe get
 rid of these for confusion's sake.
 

Thanks for spotting them, I thought I removed them.






signature.asc
Description: OpenPGP digital signature
--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-30 Thread JonY
On 4/30/2014 19:52, JonY wrote:
 On 4/30/2014 19:18, Ruben Van Boxem wrote:
 2014-04-30 12:45 GMT+02:00 JonY jo...@users.sourceforge.net:

 Hi,

 I have enabled read-only access to the git repos for testing purposes,
 the experimental directory is mostly outdated and can be left in SVN.

 Do try out the repos (git clone URL):

 mingw-w64 proper - git://git.code.sf.net/p/mingw-w64/git
 webpage - git://git.code.sf.net/p/mingw-w64/git-web
 ironcrate - git://git.code.sf.net/p/mingw-w64/code-ironcrate


 Just a small nit: I would name the repo mingw-w64 so that git clone URL
 clones into mingw-w64 instead of the current git.

 
 Sf doesn't allow repo renaming, but sure, I can move it the hard way :)
 

Done:
git://git.code.sf.net/p/mingw-w64/mingw-w64





signature.asc
Description: OpenPGP digital signature
--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-30 Thread Rodny Spillig


On Tue, Apr 29, 2014 at 6:00 AM, JonY jon_y@... wrote:
 On 4/29/2014 14:49, Rodny wrote:
 JonY jon_y@... writes:


 Hi,

 mingw-w64 may migrate from svn to git in the future, seeing that sf can
 now do multiple repos per project.

 Structure wise, everything under trunk will still stay together in the
 new repo, but any externals, /experimental/* and /web may move into its
 own repo.

 Discuss.

There seems to be no possibility of discussion, only talks of acceptance.  A 
pity.  If you do not intend to ever accept an option other than the one you 
propose, then do not ask for discussion.  It just adds insult to injury.

 Hello, world.  First time poster, long time user.

 I know I'm in the minority, but I'd just like to say that I'm actually
 against this change.  We use your products in house here almost constantly
 (Bob's your uncle for that!), and we really love how easy it is to use your
 code base.  We always build our own toolchains, and we are setup to
 interface directly to you.  Switching this up for no apparent reason throws
 a giant wrench into our operation.  With our staffing, we will be fubar
 bundied for all you WW2 buffs out there.

 I noticed that everyone in this thread, including this original post, is
 coming from the standpoint of why not use git? while I'd like to ask you
 the question, Why are you changing?


 Because it was a pain to track down patches applied to other branches
 and reapply it again and again, cherry-pick is god sent. Not to mention
 merging is quick and simple. It is also far far easier to do a long term
 private branch in git than in SVN, not to mention, multi-part commit
 patches are nice.

SVN does all of that easily.  Are you sure you aren't just using it wrong?  The 
notion that it does not branch and merge is very outdated.  There is even a 
whole section in the manual called Cherry Picking.

As far as long term branches, how is svn merge ^/trunk any different than 
git pull ?


 How will you handle all the various things that you currently distribute?
 You have a lot of stuff in your repository, and it all works nicely because
 of how svn treats each directory as essentially a separate repo.  What are
 you going to do about the branches, tags, and experimentals?


 Already mentioned in the original email.

Not really.  The entire workflow changes drastically, and you've not indicated 
at all how users should deal with that.

 Have you even considered other distributed systems?  Mercurial, Bazaar?  Or
 is it git all the way just because it's git?  Git is much more of a Do
 what Linus says project, than it is a tool that's solving a problem.


 What does Linus have to do with the decision? If anything, I'll use it
 because Linus recommends it.

You ignored the question, which implies the answer is no.

 I'd actually like to see you move to a more recent version of svn that has
 a lot of new whiz-bang features that make it more desirable to stay with
 the status quo.  Contrary to popular belief, git doesn't merge/branch any
 better than svn, unless you compare brand new git to svn v1.0.

 Finally... why not just set up a git mirror like so many other projects do?


 Because git commits cannot easily push back to SVN, and great, you have
 all the power of git and the inconvenience of SVN.

SVN seems to be an inconvenience to you because you aren't using it correctly.  
That's not a deficiency in the tool.  And as pointed out, many projects 
successfully use a git mirror, including GCC itself.



Your original message said that the project may switch to git.  I now 
understand that this was not true.  It should have said that the project will 
switch, and you are entertaining zero other options.  Why even bother asking 
your community?  Why not just tell instead of ask?  Your responses reek of 
Keith Marshall.  This is the kind of thing that drove us away from mingw.org in 
the first place.  This is not what we have come to expect over the years.



--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-30 Thread JonY
On 4/30/2014 21:34, Rodny Spillig wrote:

 Because it was a pain to track down patches applied to other branches
 and reapply it again and again, cherry-pick is god sent. Not to mention
 merging is quick and simple. It is also far far easier to do a long term
 private branch in git than in SVN, not to mention, multi-part commit
 patches are nice.
 
 SVN does all of that easily.  Are you sure you aren't just using it wrong?  
 The notion that it does not branch and merge is very outdated.  There is even 
 a whole section in the manual called Cherry Picking.
 

Does SVN allow you to manage a local-only branch that allow merging from
multiple remotes?

 As far as long term branches, how is svn merge ^/trunk any different than 
 git pull ?
 

Will SVN allow change tracking of said branch if it is never committed
to the server?

 How will you handle all the various things that you currently distribute?
 You have a lot of stuff in your repository, and it all works nicely because
 of how svn treats each directory as essentially a separate repo.  What are
 you going to do about the branches, tags, and experimentals?


 Already mentioned in the original email.
 
 Not really.  The entire workflow changes drastically, and you've not 
 indicated at all how users should deal with that.
 

I have already mentioned branches and tags are migrated, they're all
there. If you haven't already noticed, git-svn migration preserves
history fine. Experimentals are outdated and unused and has not seen any
changes for a long time, and unlikely to see any significant changes soon.

The only gem left in experimental is ironcrate, which is still far from
complete, I doubt there are actually active ironcrate users.

 Have you even considered other distributed systems?  Mercurial, Bazaar?  Or
 is it git all the way just because it's git?  Git is much more of a Do
 what Linus says project, than it is a tool that's solving a problem.


 What does Linus have to do with the decision? If anything, I'll use it
 because Linus recommends it.
 
 You ignored the question, which implies the answer is no.
 

I can reply with the same rhetoric, why choose Mercurial or Bazaar over
git when they have roughly the same functionality? Do you actually know
any command-line phobic end users that want to download mingw-w64 and
build gcc and binutils from source to benefit from the supposedly more
user friendly GUI frontends others have? Does Linus using git somehow
cause it to be a bad choice?

We chose git because it is far more familiar to the bulk of our
contributors, namely the ReactOS and Wine developers. Some contributors
are already using their own git band-aid over SVN. None of our
developers have even mentioned Mercurial over the years. Bazaar is out
of the question because SF doesn't have that option.

 I'd actually like to see you move to a more recent version of svn that has
 a lot of new whiz-bang features that make it more desirable to stay with
 the status quo.  Contrary to popular belief, git doesn't merge/branch any
 better than svn, unless you compare brand new git to svn v1.0.

 Finally... why not just set up a git mirror like so many other projects do?


 Because git commits cannot easily push back to SVN, and great, you have
 all the power of git and the inconvenience of SVN.
 
 SVN seems to be an inconvenience to you because you aren't using it 
 correctly.  That's not a deficiency in the tool.  And as pointed out, many 
 projects successfully use a git mirror, including GCC itself.


If you're going to work on the existing SVN WC anyway, why setup an
online git mirror in the first place? What is the benefit of setting up
a read-only DVCS that can only pull from a single source?

 Your original message said that the project may switch to git.  I now 
 understand that this was not true.  It should have said that the project 
 will switch, and you are entertaining zero other options.  Why even bother 
 asking your community?  Why not just tell instead of ask?  Your responses 
 reek of Keith Marshall.  This is the kind of thing that drove us away from 
 mingw.org in the first place.  This is not what we have come to expect over 
 the years.
 

May here hinges on the amount of migration effort required, which was
surprisingly light. So yes, it is now a definitive will.

For the record, I have no idea what Keith did to you (what exactly did
he do anyway?) to even bring him up in this conversation. Are you saying
you moved just because some source code repo was shifted to another VCS
you disagreed with?




signature.asc
Description: OpenPGP digital signature
--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.

Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-30 Thread Kai Tietz
2014-04-30 20:05 GMT+02:00 JonY jo...@users.sourceforge.net:
 Experimentals are outdated and unused and has not seen any
 changes for a long time, and unlikely to see any significant changes soon.
 The only gem left in experimental is ironcrate, which is still far from
 complete, I doubt there are actually active ironcrate users.

That isn't true.  There are a lot of things of interest in
experimental.  To clear up with such rumors.  Just that something
changed for a while doesn't make it necessarily useless!

Kai

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-29 Thread Rodny
JonY jon_y@... writes:

 
 Hi,
 
 mingw-w64 may migrate from svn to git in the future, seeing that sf can
 now do multiple repos per project.
 
 Structure wise, everything under trunk will still stay together in the
 new repo, but any externals, /experimental/* and /web may move into its
 own repo.
 
 Discuss.

Hello, world.  First time poster, long time user.

I know I'm in the minority, but I'd just like to say that I'm actually
against this change.  We use your products in house here almost constantly
(Bob's your uncle for that!), and we really love how easy it is to use your
code base.  We always build our own toolchains, and we are setup to
interface directly to you.  Switching this up for no apparent reason throws
a giant wrench into our operation.  With our staffing, we will be fubar
bundied for all you WW2 buffs out there.

I noticed that everyone in this thread, including this original post, is
coming from the standpoint of why not use git? while I'd like to ask you
the question, Why are you changing?

Ignoring the endless holy wars, some practical concerns that we have here
are the dismal support on native windows for git.  TortoiseSVN makes
browsing your changes and picking the ones we want extremely easy in a
graphical environment on the platform that you're built to provide
compilers for.  It just seems natural for a Windows Compiler Project to use
tools that... you know... work on windows.  (Yes, I know of msysgit.  My
statements stand.)

Another practical concern -- do we now have to checkout your entire
repository just to get one revision?  git lets you get All or Head.  What
about  the equivalent of 1234?  Will you provide documentation for users
like us to adapt to this new model?  Or are we stuck?

How will you handle all the various things that you currently distribute? 
You have a lot of stuff in your repository, and it all works nicely because
of how svn treats each directory as essentially a separate repo.  What are
you going to do about the branches, tags, and experimentals?

Have you even considered other distributed systems?  Mercurial, Bazaar?  Or
is it git all the way just because it's git?  Git is much more of a Do
what Linus says project, than it is a tool that's solving a problem.

I'd actually like to see you move to a more recent version of svn that has
a lot of new whiz-bang features that make it more desirable to stay with
the status quo.  Contrary to popular belief, git doesn't merge/branch any
better than svn, unless you compare brand new git to svn v1.0.

Finally... why not just set up a git mirror like so many other projects do?

And, this is just an observation from an admitted relic in this advanced
age (been doing this for over 40 years, I'm at the end of my career now..)
this looks like a spur of the moment idea that has inadequate planning and
far reaching consequences.  This is more like what a certain competitor of
yours often does -- from the hip radical change for the sake of change with
poor planning and no business case for it.  That only works when running
for president (ba dum!)

I've seen this happen many times over the decades, and the story is always
the same.  I guess I'm just hopeful that people today would learn from the
mistakes of those that came before them.  Or maybe the net just has no
place for an old engineer anymore.

Obviously, like I said, this is a minority post.  I realize that.  And it
will probably be met with very little that's positive.  But at least
understand that you have users here that aren't that vocal that would
appreciate you not jumping on the latest bandwagon.



--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-29 Thread Ruben Van Boxem
2014-04-29 8:49 GMT+02:00 Rodny spillig...@gmx.com:

 JonY jon_y@... writes:

 
  Hi,
 
  mingw-w64 may migrate from svn to git in the future, seeing that sf can
  now do multiple repos per project.
 
  Structure wise, everything under trunk will still stay together in the
  new repo, but any externals, /experimental/* and /web may move into its
  own repo.
 
  Discuss.

 Hello, world.  First time poster, long time user.

 I know I'm in the minority, but I'd just like to say that I'm actually
 against this change.  We use your products in house here almost constantly
 (Bob's your uncle for that!), and we really love how easy it is to use your
 code base.  We always build our own toolchains, and we are setup to
 interface directly to you.  Switching this up for no apparent reason throws
 a giant wrench into our operation.  With our staffing, we will be fubar
 bundied for all you WW2 buffs out there.

 I noticed that everyone in this thread, including this original post, is
 coming from the standpoint of why not use git? while I'd like to ask you
 the question, Why are you changing?


The better  question you should ask yourself is: why is the open source
world changing? I'm not going to sum up the pro's and cons, you can find
them yourself. git is just a lot more flexible and robust. This does not
make it any better than any other distributed VCS, it just makes it
better (i.e. more flexible) than stuff like CVS/SVN/...



 Ignoring the endless holy wars, some practical concerns that we have here
 are the dismal support on native windows for git.  TortoiseSVN makes
 browsing your changes and picking the ones we want extremely easy in a
 graphical environment on the platform that you're built to provide
 compilers for.  It just seems natural for a Windows Compiler Project to use
 tools that... you know... work on windows.  (Yes, I know of msysgit.  My
 statements stand.)


You are aware that
a) TortoiseGit exists? Along with a bunch of other graphical clients
b) Visual Studio 2013 has native git integration?

I'd hardly say git doesn't work on Windows...


 Another practical concern -- do we now have to checkout your entire
 repository just to get one revision?  git lets you get All or Head.  What
 about  the equivalent of 1234?  Will you provide documentation for users
 like us to adapt to this new model?  Or are we stuck?


Google git for subversion users. There's a ton of migration help for you
and everyone. There are no hard numbered revisions, instead, there's
branches and tags and commit hashes, which offer the same flexibility.

There are things like a shallow clone (see git clone --depth=N), which
allows you to checkout the latest N commits. Note a git clone is often
smaller than the equivalent svn checkout, because git compacts the commit
history quite efficiently. See the previous mails about repo sizes.



 How will you handle all the various things that you currently distribute?
 You have a lot of stuff in your repository, and it all works nicely because
 of how svn treats each directory as essentially a separate repo.  What are
 you going to do about the branches, tags, and experimentals?

 Have you even considered other distributed systems?  Mercurial, Bazaar?  Or
 is it git all the way just because it's git?  Git is much more of a Do
 what Linus says project, than it is a tool that's solving a problem.

 I'd actually like to see you move to a more recent version of svn that has
 a lot of new whiz-bang features that make it more desirable to stay with
 the status quo.  Contrary to popular belief, git doesn't merge/branch any
 better than svn, unless you compare brand new git to svn v1.0.

 Finally... why not just set up a git mirror like so many other projects do?

 And, this is just an observation from an admitted relic in this advanced
 age (been doing this for over 40 years, I'm at the end of my career now..)
 this looks like a spur of the moment idea that has inadequate planning and
 far reaching consequences.  This is more like what a certain competitor of
 yours often does -- from the hip radical change for the sake of change with
 poor planning and no business case for it.  That only works when running
 for president (ba dum!)

 I've seen this happen many times over the decades, and the story is always
 the same.  I guess I'm just hopeful that people today would learn from the
 mistakes of those that came before them.  Or maybe the net just has no
 place for an old engineer anymore.

 Obviously, like I said, this is a minority post.  I realize that.  And it
 will probably be met with very little that's positive.  But at least
 understand that you have users here that aren't that vocal that would
 appreciate you not jumping on the latest bandwagon.


I'm sorry to say this, but git (or any other distributed VCS) isn't just
the latest bandwagon. There's a reason github is so popular. There's a
reason more than half (watch me pull statistics out of nowhere) of major
open source projects are 

Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-29 Thread Matthew Brett
Hi,

On Mon, Apr 28, 2014 at 11:49 PM, Rodny spillig...@gmx.com wrote:
 JonY jon_y@... writes:


 Hi,

 mingw-w64 may migrate from svn to git in the future, seeing that sf can
 now do multiple repos per project.

 Structure wise, everything under trunk will still stay together in the
 new repo, but any externals, /experimental/* and /web may move into its
 own repo.

 Discuss.

 Hello, world.  First time poster, long time user.

 I know I'm in the minority, but I'd just like to say that I'm actually
 against this change.  We use your products in house here almost constantly
 (Bob's your uncle for that!), and we really love how easy it is to use your
 code base.  We always build our own toolchains, and we are setup to
 interface directly to you.  Switching this up for no apparent reason throws
 a giant wrench into our operation.  With our staffing, we will be fubar
 bundied for all you WW2 buffs out there.

 I noticed that everyone in this thread, including this original post, is
 coming from the standpoint of why not use git? while I'd like to ask you
 the question, Why are you changing?

 Ignoring the endless holy wars, some practical concerns that we have here
 are the dismal support on native windows for git.  TortoiseSVN makes
 browsing your changes and picking the ones we want extremely easy in a
 graphical environment on the platform that you're built to provide
 compilers for.  It just seems natural for a Windows Compiler Project to use
 tools that... you know... work on windows.  (Yes, I know of msysgit.  My
 statements stand.)

 Another practical concern -- do we now have to checkout your entire
 repository just to get one revision?  git lets you get All or Head.  What
 about  the equivalent of 1234?  Will you provide documentation for users
 like us to adapt to this new model?  Or are we stuck?

 How will you handle all the various things that you currently distribute?
 You have a lot of stuff in your repository, and it all works nicely because
 of how svn treats each directory as essentially a separate repo.  What are
 you going to do about the branches, tags, and experimentals?

 Have you even considered other distributed systems?  Mercurial, Bazaar?  Or
 is it git all the way just because it's git?  Git is much more of a Do
 what Linus says project, than it is a tool that's solving a problem.

 I'd actually like to see you move to a more recent version of svn that has
 a lot of new whiz-bang features that make it more desirable to stay with
 the status quo.  Contrary to popular belief, git doesn't merge/branch any
 better than svn, unless you compare brand new git to svn v1.0.

 Finally... why not just set up a git mirror like so many other projects do?

 And, this is just an observation from an admitted relic in this advanced
 age (been doing this for over 40 years, I'm at the end of my career now..)
 this looks like a spur of the moment idea that has inadequate planning and
 far reaching consequences.  This is more like what a certain competitor of
 yours often does -- from the hip radical change for the sake of change with
 poor planning and no business case for it.  That only works when running
 for president (ba dum!)

 I've seen this happen many times over the decades, and the story is always
 the same.  I guess I'm just hopeful that people today would learn from the
 mistakes of those that came before them.  Or maybe the net just has no
 place for an old engineer anymore.

 Obviously, like I said, this is a minority post.  I realize that.  And it
 will probably be met with very little that's positive.  But at least
 understand that you have users here that aren't that vocal that would
 appreciate you not jumping on the latest bandwagon.

Sorry, I am replying only because you've written your email in a way
you must have realized was near guaranteed to start a flame war, which
is very unlikely to be useful.

There was a time, maybe 5 years ago, when it was common to assert that
git was a fad and subversion was fine, but you must have noticed that
that conversation died off a long time ago.

I assume that you haven't used git or mercurial on a project with many
distributed developers.  For some reason it is very difficult to
explain in the abstract why DVCS is so much better in this situation
than centralized one-commit systems like svn.  It only becomes clear
after using these systems for a while.  In case it is helpful, there's
a very good explanation by Joel Spolsky (for mercurial) here:

http://hginit.com/00.html

See also Distributed Version Control is here to stay, baby
http://www.joelonsoftware.com/items/2010/03/17.html

Best,

Matthew

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for 

Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-29 Thread Alberto Luaces
Rodny writes:

 Ignoring the endless holy wars, some practical concerns that we have here
 are the dismal support on native windows for git.  TortoiseSVN makes
 browsing your changes and picking the ones we want extremely easy in a
 graphical environment on the platform that you're built to provide
 compilers for.  It just seems natural for a Windows Compiler Project to use
 tools that... you know... work on windows.  (Yes, I know of msysgit.  My
 statements stand.)

Take git extensions for a spin:

https://code.google.com/p/gitextensions/

-- 
Alberto


--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-29 Thread LRN
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 29.04.2014 11:31, Ruben Van Boxem wrote:
 On 2014-04-29 8:49 GMT+02:00 Rodny:
 
 JonY writes:
 
 
 Hi,
 
 mingw-w64 may migrate from svn to git in the future, seeing that sf 
 can now do multiple repos per project.
 
 Structure wise, everything under trunk will still stay together in the
 new repo, but any externals, /experimental/* and /web may move into
 its own repo.
 
 Discuss.
 
 Another practical concern -- do we now have to checkout your entire 
 repository just to get one revision?  git lets you get All or Head. What
 about  the equivalent of 1234?  Will you provide documentation for users
 like us to adapt to this new model?  Or are we stuck?
 
 
 Google git for subversion users. There's a ton of migration help for you
 and everyone. There are no hard numbered revisions, instead, there's 
 branches and tags and commit hashes, which offer the same flexibility.
 
 There are things like a shallow clone (see git clone --depth=N), which 
 allows you to checkout the latest N commits. Note a git clone is often 
 smaller than the equivalent svn checkout, because git compacts the commit
  history quite efficiently. See the previous mails about repo sizes.

He's right on this one. Just yesterday i was frustrated when i couldn't
download a *particular* revision of binutils to build. Shallow clones, as
mentioned, give you HEAD or something near HEAD or a tagged commit. Usually
i work around it by abusing the snapshot feature of a particular repo, but
sourceware had that disabled. AND their snapshot tarballs on ftp are rolling
(meaning i can't just download a particular snapshot that way either, they
change over time).

That said, this just breaks the use-case when you have to work with a
particular revision of upstream for the first time.
If you need a tag or the HEAD - it's fine, since shallow clones help.
If you've done this before - also fine, since you have the repo clone, and
just need to update and checkout to the commit you need.

And since we're speaking of revisions, for the record, it should be possible
to emulate incremental revision numbers in git, as long as master is kept 
linear.

- -- 
O ascii ribbon - stop html email! - www.asciiribbon.org
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (MingW32)

iQEcBAEBAgAGBQJTX2V5AAoJEOs4Jb6SI2CwMskIANtdlBEP1cTmVOL8lDzjJohx
3Mb2Ah+z2BSn2TTh96R/N2pag15uje6YmRkGJRRTUlv03jI4XTn50sj0AJyFNWko
SskOxkBUbivKIP7k9qJFTAyvMpsf4n9hHAuE/PJ7QjBySBXwZsmxP7F8u7Tarh9E
QqHcbrh4W+AFYQFNqRqQVHFyBg4zLPbPLIPOQZhiMp7qecSsPAOm2L5UG2AxPh+K
/YlBadG1DsP0qaSCiiz9Fhg2ijvWMii0U2cehrG9dgUmzrGiCuQZNiw2NF34YPnm
A7iJUPSKxsb6h23y0wATiK3p5X5R+yTwOE259oX2n81bnoQ0QUljr0VOX37iO+M=
=JZOG
-END PGP SIGNATURE-

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-29 Thread JonY
On 4/29/2014 14:49, Rodny wrote:
 JonY jon_y@... writes:
 

 Hi,

 mingw-w64 may migrate from svn to git in the future, seeing that sf can
 now do multiple repos per project.

 Structure wise, everything under trunk will still stay together in the
 new repo, but any externals, /experimental/* and /web may move into its
 own repo.

 Discuss.
 
 Hello, world.  First time poster, long time user.
 
 I know I'm in the minority, but I'd just like to say that I'm actually
 against this change.  We use your products in house here almost constantly
 (Bob's your uncle for that!), and we really love how easy it is to use your
 code base.  We always build our own toolchains, and we are setup to
 interface directly to you.  Switching this up for no apparent reason throws
 a giant wrench into our operation.  With our staffing, we will be fubar
 bundied for all you WW2 buffs out there.
 
 I noticed that everyone in this thread, including this original post, is
 coming from the standpoint of why not use git? while I'd like to ask you
 the question, Why are you changing?
 

Because it was a pain to track down patches applied to other branches
and reapply it again and again, cherry-pick is god sent. Not to mention
merging is quick and simple. It is also far far easier to do a long term
private branch in git than in SVN, not to mention, multi-part commit
patches are nice.

 Ignoring the endless holy wars, some practical concerns that we have here
 are the dismal support on native windows for git.  TortoiseSVN makes
 browsing your changes and picking the ones we want extremely easy in a
 graphical environment on the platform that you're built to provide
 compilers for.  It just seems natural for a Windows Compiler Project to use
 tools that... you know... work on windows.  (Yes, I know of msysgit.  My
 statements stand.)
 

TortoiseGit. And no, you are not expected to work using Windows tools
just because it is for Windows. You'd be surprised to learn most of the
changes are not done on Windows at all.

 Another practical concern -- do we now have to checkout your entire
 repository just to get one revision?  git lets you get All or Head.  What
 about  the equivalent of 1234?  Will you provide documentation for users
 like us to adapt to this new model?  Or are we stuck?
 

Just grab it once (or use a local cache) and then checkout the revision
you want.

 How will you handle all the various things that you currently distribute? 
 You have a lot of stuff in your repository, and it all works nicely because
 of how svn treats each directory as essentially a separate repo.  What are
 you going to do about the branches, tags, and experimentals?
 

Already mentioned in the original email.

 Have you even considered other distributed systems?  Mercurial, Bazaar?  Or
 is it git all the way just because it's git?  Git is much more of a Do
 what Linus says project, than it is a tool that's solving a problem.
 

What does Linus have to do with the decision? If anything, I'll use it
because Linus recommends it.

 I'd actually like to see you move to a more recent version of svn that has
 a lot of new whiz-bang features that make it more desirable to stay with
 the status quo.  Contrary to popular belief, git doesn't merge/branch any
 better than svn, unless you compare brand new git to svn v1.0.
 
 Finally... why not just set up a git mirror like so many other projects do?
 

Because git commits cannot easily push back to SVN, and great, you have
all the power of git and the inconvenience of SVN.




signature.asc
Description: OpenPGP digital signature
--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


[Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread JonY
Hi,

mingw-w64 may migrate from svn to git in the future, seeing that sf can
now do multiple repos per project.

Structure wise, everything under trunk will still stay together in the
new repo, but any externals, /experimental/* and /web may move into its
own repo.

Discuss.



signature.asc
Description: OpenPGP digital signature
--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread Kai Tietz
Hi,

as JonY said, do we think about switching to git.  Of couse such a
step might shows side-effects to our users.  So we would like to get
your opinion and thoughts for this step.
As svn-repository works a bit different as git, we will need to
restructure our branches, tags, trunk, and experimental.  We need a
plan how we might do transition here.

Open questions from my POV are:
- How do we maintain different branches?  Well, this shouldn't be the
big problem, just naming and how to handle them we should agree on.
- Where stuff from experimental should do, which aren't fitting to a
branch of master-repository.  So how many separate repositories we
might neeed?  (ironcrate, tools, POSIX-emulation stuff like getrusage,
etc)

For sure there are other things too.

Thanks for you thoughts, and opinion.

Regards,
Kai

2014-04-28 13:17 GMT+02:00 JonY jo...@users.sourceforge.net:
 Hi,

 mingw-w64 may migrate from svn to git in the future, seeing that sf can
 now do multiple repos per project.

 Structure wise, everything under trunk will still stay together in the
 new repo, but any externals, /experimental/* and /web may move into its
 own repo.

 Discuss.


 --
 Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
 Instantly run your Selenium tests across 300+ browser/OS combos.  Get
 unparalleled scalability from the best Selenium testing platform available.
 Simple to use. Nothing to install. Get started now for free.
 http://p.sf.net/sfu/SauceLabs
 ___
 Mingw-w64-public mailing list
 Mingw-w64-public@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread Koehne Kai
 -Original Message-
 From: JonY [mailto:jo...@users.sourceforge.net]
 
 Hi,
 
 mingw-w64 may migrate from svn to git in the future, seeing that sf can now
 do multiple repos per project.
 
 Structure wise, everything under trunk will still stay together in the new 
 repo,
 but any externals, /experimental/* and /web may move into its own repo.
 
 Discuss.

+1 

Just because I'm a daily git user, and I'm having a hard time doing anything 
beyond a mere check-out in svn. Again and again :) Just this morning I was 
searching for a semi-official github clone of Mingw-w64 ...

It obviously depends from what you know, but git really has established itself 
as 'the' versioning system in the open source world by now.

Regards

Kai

PS: Maybe interesting: Why the ICU project won't move from svn to git any time 
soon: http://sourceforge.net/p/icu/mailman/message/31814825/ . It comes down to 
references to svn revisions all over the place.
--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread Ruben Van Boxem
2014-04-28 13:30 GMT+02:00 Kai Tietz ktiet...@googlemail.com:

 Hi,

 as JonY said, do we think about switching to git.  Of couse such a
 step might shows side-effects to our users.  So we would like to get
 your opinion and thoughts for this step.
 As svn-repository works a bit different as git, we will need to
 restructure our branches, tags, trunk, and experimental.  We need a
 plan how we might do transition here.

 Open questions from my POV are:
 - How do we maintain different branches?  Well, this shouldn't be the
 big problem, just naming and how to handle them we should agree on.

- Where stuff from experimental should do, which aren't fitting to a
 branch of master-repository.  So how many separate repositories we
 might neeed?  (ironcrate, tools, POSIX-emulation stuff like getrusage,
 etc)


Different repositories may sound like a nice idea, but keeping them in sync
can be a pain, depending on the complexity of the subprojects. I believe
stuff like ironcrate, winpthreads and perhaps the mingw-w64-tools folder
deserve their own repo, as they are very seperate from the headers+crt.
These latter two I'd suggest to keep together, as that will reduce the
chances of wrong versions being used together and allow 1 commit to change
both to keep them aligned without any hassle. In contrast, I would try to
move away from a seperate experimental directory, and instead inject
these changes into a branch (or several, so that each finished feature can
be merged easily). Branches and merging are the git way, and rebasing
allows for clean merges.

The simplest setup would be to have these branches:
- master
|- 1.x
|- 2.x
|- 3.x
|- experimental_feature_x
|- experimental_feature_y
...
And each release's git tag is in its release branch. Note a git tag is not
a full copy of a branch as with SVN, but just a ref to a certain commit.
One can easily and quickly diff branches and cherry-pick particular commits
between them, which will allow for simple git-based backporting of changes
as far as the different branches are similar)
A new release branch is as easy as

git branch --track 4.x origin/master

Same for a new feature branch. This ensures changes in the master branch
are automatically pulled in when you do a git pull.

As a start for the conversion, check out this step-by-step plan:
http://stackoverflow.com/a/11918337/256138

I haven't tested it myself, but this should provide the cleanest transition
possible, removing unnecessary svn stuff and transforming that as much as
possible into git structure. The good thing is you can try it locally
without touching the original repo.

I could give it a whirl myself and push to github so you can see what the
result would be if you think this would be useful.

Cheers,

Ruben



 For sure there are other things too.

 Thanks for you thoughts, and opinion.

 Regards,
 Kai

 2014-04-28 13:17 GMT+02:00 JonY jo...@users.sourceforge.net:
  Hi,
 
  mingw-w64 may migrate from svn to git in the future, seeing that sf can
  now do multiple repos per project.
 
  Structure wise, everything under trunk will still stay together in the
  new repo, but any externals, /experimental/* and /web may move into its
  own repo.
 
  Discuss.
 
 
 
 --
  Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
  Instantly run your Selenium tests across 300+ browser/OS combos.  Get
  unparalleled scalability from the best Selenium testing platform
 available.
  Simple to use. Nothing to install. Get started now for free.
  http://p.sf.net/sfu/SauceLabs
  ___
  Mingw-w64-public mailing list
  Mingw-w64-public@lists.sourceforge.net
  https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
 


 --
 Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
 Instantly run your Selenium tests across 300+ browser/OS combos.  Get
 unparalleled scalability from the best Selenium testing platform available.
 Simple to use. Nothing to install. Get started now for free.
 http://p.sf.net/sfu/SauceLabs
 ___
 Mingw-w64-public mailing list
 Mingw-w64-public@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread JonY
On 4/28/2014 19:53, Ruben Van Boxem wrote:
 Different repositories may sound like a nice idea, but keeping them in sync
 can be a pain, depending on the complexity of the subprojects. I believe
 stuff like ironcrate, winpthreads and perhaps the mingw-w64-tools folder
 deserve their own repo, as they are very seperate from the headers+crt.
 These latter two I'd suggest to keep together, as that will reduce the
 chances of wrong versions being used together and allow 1 commit to change
 both to keep them aligned without any hassle. In contrast, I would try to
 move away from a seperate experimental directory, and instead inject
 these changes into a branch (or several, so that each finished feature can
 be merged easily). Branches and merging are the git way, and rebasing
 allows for clean merges.
 

For ease of migration, every module in trunk would go into the same
repo, so that would include winpthreads and mingw-w64-tools. I'm not
sure if we can exclude files from the import unless we want to
completely break apart trunk into components. However, I am also trying
to avoid too many separate repos and git submodules.

Right now, I am thinking of splitting it 3 ways, the mingw-w64 proper
(with anything from experimental if applicable), web, and experimental
(if it actually justifies a separate repo, otherwise, it might be
archived and left as is on SVN).

 The simplest setup would be to have these branches:
 - master
 |- 1.x
 |- 2.x
 |- 3.x
 |- experimental_feature_x
 |- experimental_feature_y
 ...
 And each release's git tag is in its release branch. Note a git tag is not
 a full copy of a branch as with SVN, but just a ref to a certain commit.
 One can easily and quickly diff branches and cherry-pick particular commits
 between them, which will allow for simple git-based backporting of changes
 as far as the different branches are similar)
 A new release branch is as easy as
 
 git branch --track 4.x origin/master
 

Right, this is given.

 Same for a new feature branch. This ensures changes in the master branch
 are automatically pulled in when you do a git pull.
 
 As a start for the conversion, check out this step-by-step plan:
 http://stackoverflow.com/a/11918337/256138
 

I have done a fairly large svn to git conversion recently, so I'm mostly
familiar with the steps.

 I haven't tested it myself, but this should provide the cleanest transition
 possible, removing unnecessary svn stuff and transforming that as much as
 possible into git structure. The good thing is you can try it locally
 without touching the original repo.
 
 I could give it a whirl myself and push to github so you can see what the
 result would be if you think this would be useful.
 

I want to avoid duplicate efforts, I have already started the git svn
clone process. If it goes badly on my end, you can give it a go. I will
push to an unofficial repo on SF for preview.

Speaking of our current svn repo, it isn't usually busy, so the svn lock
down will only be done once migration completes, users should be able to
jump right over by then. Until it is done, the git repo will need to
track svn manually.




signature.asc
Description: OpenPGP digital signature
--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread LRN
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 28.04.2014 17:04, JonY wrote:
 On 4/28/2014 19:53, Ruben Van Boxem wrote:
 Different repositories may sound like a nice idea, but keeping them in
 sync can be a pain, depending on the complexity of the subprojects. I
 believe stuff like ironcrate, winpthreads and perhaps the
 mingw-w64-tools folder deserve their own repo, as they are very seperate
 from the headers+crt. These latter two I'd suggest to keep together, as
 that will reduce the chances of wrong versions being used together and
 allow 1 commit to change both to keep them aligned without any hassle.
 In contrast, I would try to move away from a seperate experimental
 directory, and instead inject these changes into a branch (or several,
 so that each finished feature can be merged easily). Branches and
 merging are the git way, and rebasing allows for clean merges.
 
 
 For ease of migration, every module in trunk would go into the same repo,
 so that would include winpthreads and mingw-w64-tools. I'm not sure if we
 can exclude files from the import unless we want to completely break
 apart trunk into components. However, I am also trying to avoid too many
 separate repos and git submodules.
 
 Right now, I am thinking of splitting it 3 ways, the mingw-w64 proper 
 (with anything from experimental if applicable), web, and experimental (if
 it actually justifies a separate repo, otherwise, it might be archived and
 left as is on SVN).

My experience so far:
1) When i build gcc, i often need to build mingw-w64-headers, mingw-w64-crt
and winpthreads not together, but separately, at different points of time. To
this end i'm svn-checkouting from a subdirectory to get only one of the three.
I don't remember whether git has that ability; possibly not. If that is the
case, these may need to go into separate repos (possibly submodules?).

2) The git branches are for branching out from the main development line
(and merging back at some later point), not for completely separate stuff. If
you keep completely different stuff in different branches, switching branches
(which usually takes less than a second) will take a long time (depending on
the size, up to 10 seconds or more). The svn branches are more like git
repos - completely independent, they just live together :)

- -- 
O ascii ribbon - stop html email! - www.asciiribbon.org
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (MingW32)

iQEcBAEBAgAGBQJTXl/DAAoJEOs4Jb6SI2Cw+LoH/jeC5Gu884aNkcEk1k19/q7+
kVmM8Sb0b2WW+v063xb7ZqcWxtQUf/egXaRUFQJTgYYsOKPF+5SeJWpxyuGpjsjN
2mLzo2LtygqaIl/XI+rtGO2LipJW3d7Uo1Puq1oWctcH3LG1QQJLvkOqQLJzwnpF
M7niIwtspZpOtRHGPEQAespVpY3mH2hkvRd6tPAj51w1Ix/d4OwfAjsW80EGJIwC
oT/qvM4gAADIGz11zmIzplGCOmOvsi8JENEgQB1szKQ2vih8bFwaOhM433a38zCZ
ehx4JIasVL13TtJRliSSgEHCh6kKJGD+V6+nOyD5TNrCfL9NIRV7YWbyQu9sC78=
=Qy6h
-END PGP SIGNATURE-

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread John E. / TDM
On 4/28/2014 5:17 AM, JonY wrote:
 mingw-w64 may migrate from svn to git in the future, seeing that sf can
 now do multiple repos per project.
*snip*
 Discuss.

I'm a bit surprised at the choice of Git -- in my experience, Windows 
developers usually prefer Mercurial (http://mercurial.selenic.com/) 
because on Windows it is more lightweight and performant than Git.

I also prefer Mercurial to Git because I find its syntax and workflow 
more intuitive. This is of course personal taste.

Mercurial repositories are also available in SourceForge. But if the 
primary MinGW-w64 contributors are all more familiar with Git then I 
suppose it shall be Git.

My two cents. :)

-John E. / TDM

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread Adrien Nader
On Mon, Apr 28, 2014, LRN wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 On 28.04.2014 17:04, JonY wrote:
  On 4/28/2014 19:53, Ruben Van Boxem wrote:
  Different repositories may sound like a nice idea, but keeping them in
  sync can be a pain, depending on the complexity of the subprojects. I
  believe stuff like ironcrate, winpthreads and perhaps the
  mingw-w64-tools folder deserve their own repo, as they are very seperate
  from the headers+crt. These latter two I'd suggest to keep together, as
  that will reduce the chances of wrong versions being used together and
  allow 1 commit to change both to keep them aligned without any hassle.
  In contrast, I would try to move away from a seperate experimental
  directory, and instead inject these changes into a branch (or several,
  so that each finished feature can be merged easily). Branches and
  merging are the git way, and rebasing allows for clean merges.
  
  
  For ease of migration, every module in trunk would go into the same repo,
  so that would include winpthreads and mingw-w64-tools. I'm not sure if we
  can exclude files from the import unless we want to completely break
  apart trunk into components. However, I am also trying to avoid too many
  separate repos and git submodules.
  
  Right now, I am thinking of splitting it 3 ways, the mingw-w64 proper 
  (with anything from experimental if applicable), web, and experimental (if
  it actually justifies a separate repo, otherwise, it might be archived and
  left as is on SVN).
 
 My experience so far:
 1) When i build gcc, i often need to build mingw-w64-headers, mingw-w64-crt
 and winpthreads not together, but separately, at different points of time. To
 this end i'm svn-checkouting from a subdirectory to get only one of the three.
 I don't remember whether git has that ability; possibly not. If that is the
 case, these may need to go into separate repos (possibly submodules?).

This is definitely not doable and is at odds with the way git works.

Checking the sizes in the 3.1.0 release I get:

  % du -hs mingw-w64-*
  21M mingw-w64-crt
  48K mingw-w64-doc
  45M mingw-w64-headers
  4.4Mmingw-w64-libraries
  4.1Mmingw-w64-tools

Separating tools, libraries (which includes winpthreads), doc would not
be useful to save download time.

Anothe experiment: size taken by git itself (remember there is from a
tarball and there is no history):

  git add .  git commit -m 'Initial commit'  du -hs .git:
27M .git

  same for each mingw-w64-* directory:
13M mingw-w64-crt/.git
120Kmingw-w64-doc/.git
13M mingw-w64-headers/.git
2.3Mmingw-w64-libraries/.git
1.4Mmingw-w64-tools/.git

A single repository would save 10% download size or so.


I also have a git clone of the current SVN repository. The size of the
.git directory is under 70MB and that's with full history; shallow
clones would use even less, possibly not much more than the download for
only the headers.

Note also that, SVN fetches are slow while git's are much faster. IIRC
SVN does one request per file in a sequential manner or something like
that. Git will download the data packed in a few files and will be able
to max out your connection (or the server's).
I'd say you can expect fetches to be 10 times faster with git than with
svn for the same amount of data.

If you do these operations really frequently, you should probably setup
local clones of the git repository: serving them locally is absolutely
trivial (i.e. nothing to do) and updates should be near-instantaneous.

-- 
Adrien Nader

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread Matthew Brett
Hi,

On Mon, Apr 28, 2014 at 8:04 AM, John E. / TDM tdra...@tdragon.net wrote:
 On 4/28/2014 5:17 AM, JonY wrote:
 mingw-w64 may migrate from svn to git in the future, seeing that sf can
 now do multiple repos per project.
 *snip*
 Discuss.

 I'm a bit surprised at the choice of Git -- in my experience, Windows
 developers usually prefer Mercurial (http://mercurial.selenic.com/)
 because on Windows it is more lightweight and performant than Git.

 I also prefer Mercurial to Git because I find its syntax and workflow
 more intuitive. This is of course personal taste.

 Mercurial repositories are also available in SourceForge. But if the
 primary MinGW-w64 contributors are all more familiar with Git then I
 suppose it shall be Git.

 My two cents. :)

From the sidelines - a big yes please for switching to git.  In my
experience, the ease of git branching makes it far more comfortable
making and proposing changes, even substantial changes.

I hear the same is true of mercurial, but I know it much less well.

I very much like the github pull-request system for code review - does
sourceforge have something similar?  I know bitbucket does.  For the
projects I'm involved in, pull requests make proposing changes very
fluid, and they are good for recording discussion as well.

Best,

Matthew

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread Jon
On Mon, Apr 28, 2014 at 10:03 AM, LRN lrn1...@gmail.com wrote:

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 On 28.04.2014 17:04, JonY wrote:
  On 4/28/2014 19:53, Ruben Van Boxem wrote:
  Different repositories may sound like a nice idea, but keeping them in
  sync can be a pain, depending on the complexity of the subprojects. I
  believe stuff like ironcrate, winpthreads and perhaps the
  mingw-w64-tools folder deserve their own repo, as they are very seperate
  from the headers+crt. These latter two I'd suggest to keep together, as
  that will reduce the chances of wrong versions being used together and
  allow 1 commit to change both to keep them aligned without any hassle.
  In contrast, I would try to move away from a seperate experimental
  directory, and instead inject these changes into a branch (or several,
  so that each finished feature can be merged easily). Branches and
  merging are the git way, and rebasing allows for clean merges.
 
 
  For ease of migration, every module in trunk would go into the same repo,
  so that would include winpthreads and mingw-w64-tools. I'm not sure if we
  can exclude files from the import unless we want to completely break
  apart trunk into components. However, I am also trying to avoid too many
  separate repos and git submodules.
 
  Right now, I am thinking of splitting it 3 ways, the mingw-w64 proper
  (with anything from experimental if applicable), web, and experimental
 (if
  it actually justifies a separate repo, otherwise, it might be archived
 and
  left as is on SVN).

 My experience so far:
 1) When i build gcc, i often need to build mingw-w64-headers, mingw-w64-crt
 and winpthreads not together, but separately, at different points of time.
 To
 this end i'm svn-checkouting from a subdirectory to get only one of the
 three.
 I don't remember whether git has that ability; possibly not. If that is the
 case, these may need to go into separate repos (possibly submodules?).

 2) The git branches are for branching out from the main development line
 (and merging back at some later point), not for completely separate stuff.
 If
 you keep completely different stuff in different branches, switching
 branches
 (which usually takes less than a second) will take a long time (depending
 on
 the size, up to 10 seconds or more). The svn branches are more like git
 repos - completely independent, they just live together :)


While you're investigating different git repo structures, I highly suggest
you investigate git's lightly documented orphan branches. These allow
multiple disparate branches to exist in a single repo. They allow you to
create blank slate style branches based upon a very early initial commit.
They work quite different than the merge friendly git branches you
typically see documented. You can still cherrypick from other branches if
needed.

https://www.kernel.org/pub/software/scm/git/docs/git-checkout.html

For example, say you want winpthreads on it's own branch that doesn't
contain winpthreads unrelated commits. Create the orphan branch similar to

# start_point is an initial commit that typically includes only your
`.gitattributes` and `.gitignore` files. Consider
# start_point to be the primordial branch commit.
git checkout --orphan winpthreads start_point

# discover that the primordial branch commit start_point is already
staged; commit it
# as the winpthreads branch initial commit
git commit -m Initial commit; project attributes and ignores

# add all the winpthreads specific code to this otherwise
git commit -am Add winpthreads source

# tag the commit with a well-known tag (IIRC, these types of tags are
isolated to a single branch so you
# likely want some namespacing)
git tag winpthreads-0.5.1

# what have I just done?
git log --decorate --oneline

# make it so
git push  git push --tags


Regarding git vs. mercurial on windows, I use both on a daily basis, like
both, but prefer git. The only performance complaint I've had relates to
garbage collection. If you try to `git gc --aggressive --prune=now` a large
repo, you'll often find that the gc fails due to memory issues even on my
23GB x64 laptop. This is easily solved by setting the `gc.aggressivewindow`
config option to a lower value. I'm interested in hearing what perf issues
John E. has run into.
--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread Adrien Nader
On Mon, Apr 28, 2014, JonY wrote:
 Hi,
 
 mingw-w64 may migrate from svn to git in the future, seeing that sf can
 now do multiple repos per project.
 
 Structure wise, everything under trunk will still stay together in the
 new repo, but any externals, /experimental/* and /web may move into its
 own repo.
 
 Discuss.
 

Stating here a few things I mentionned on IRC.


I think it would be better to only do the switch after the next point
release since it could happen soonish (but this is Ozkan's decision). Of
course that doesn't prevent initial work on the matter.


A subdirectory of an SVN repository is a valid SVN repository. This is
not true with git repositories. This prevents tracking only parts of
other repositories like it has been done with ReactOS.


Git doesn't have SVN's externals; it has remotes: paths to branches on
other repositories. Some of the use cases are the same for both but
there are large differences.


IIRC git doesn't have per-file attributes like eol-style and mime type.
Are they really needed? Should it be only LF for every file(*)?
(*) this would break editing the files under notepad and probably only
notepad, i.e. that would be a feature :) 


I think that's it for now.

-- 
Adrien Nadr

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread Adrien Nader
On Mon, Apr 28, 2014, Jon wrote:
 On Mon, Apr 28, 2014 at 10:03 AM, LRN lrn1...@gmail.com wrote:
 
  -BEGIN PGP SIGNED MESSAGE-
  Hash: SHA1
 
  On 28.04.2014 17:04, JonY wrote:
   On 4/28/2014 19:53, Ruben Van Boxem wrote:
   Different repositories may sound like a nice idea, but keeping them in
   sync can be a pain, depending on the complexity of the subprojects. I
   believe stuff like ironcrate, winpthreads and perhaps the
   mingw-w64-tools folder deserve their own repo, as they are very seperate
   from the headers+crt. These latter two I'd suggest to keep together, as
   that will reduce the chances of wrong versions being used together and
   allow 1 commit to change both to keep them aligned without any hassle.
   In contrast, I would try to move away from a seperate experimental
   directory, and instead inject these changes into a branch (or several,
   so that each finished feature can be merged easily). Branches and
   merging are the git way, and rebasing allows for clean merges.
  
  
   For ease of migration, every module in trunk would go into the same repo,
   so that would include winpthreads and mingw-w64-tools. I'm not sure if we
   can exclude files from the import unless we want to completely break
   apart trunk into components. However, I am also trying to avoid too many
   separate repos and git submodules.
  
   Right now, I am thinking of splitting it 3 ways, the mingw-w64 proper
   (with anything from experimental if applicable), web, and experimental
  (if
   it actually justifies a separate repo, otherwise, it might be archived
  and
   left as is on SVN).
 
  My experience so far:
  1) When i build gcc, i often need to build mingw-w64-headers, mingw-w64-crt
  and winpthreads not together, but separately, at different points of time.
  To
  this end i'm svn-checkouting from a subdirectory to get only one of the
  three.
  I don't remember whether git has that ability; possibly not. If that is the
  case, these may need to go into separate repos (possibly submodules?).
 
  2) The git branches are for branching out from the main development line
  (and merging back at some later point), not for completely separate stuff.
  If
  you keep completely different stuff in different branches, switching
  branches
  (which usually takes less than a second) will take a long time (depending
  on
  the size, up to 10 seconds or more). The svn branches are more like git
  repos - completely independent, they just live together :)
 
 
 While you're investigating different git repo structures, I highly suggest
 you investigate git's lightly documented orphan branches. These allow
 multiple disparate branches to exist in a single repo. They allow you to
 create blank slate style branches based upon a very early initial commit.
 They work quite different than the merge friendly git branches you
 typically see documented. You can still cherrypick from other branches if
 needed.
 
 https://www.kernel.org/pub/software/scm/git/docs/git-checkout.html
 
 For example, say you want winpthreads on it's own branch that doesn't
 contain winpthreads unrelated commits. Create the orphan branch similar to
 
 # start_point is an initial commit that typically includes only your
 `.gitattributes` and `.gitignore` files. Consider
 # start_point to be the primordial branch commit.
 git checkout --orphan winpthreads start_point
 
 # discover that the primordial branch commit start_point is already
 staged; commit it
 # as the winpthreads branch initial commit
 git commit -m Initial commit; project attributes and ignores
 
 # add all the winpthreads specific code to this otherwise
 git commit -am Add winpthreads source
 
 # tag the commit with a well-known tag (IIRC, these types of tags are
 isolated to a single branch so you
 # likely want some namespacing)
 git tag winpthreads-0.5.1
 
 # what have I just done?
 git log --decorate --oneline
 
 # make it so
 git push  git push --tags

Aren't they a bit difficult to manipulate and error-prone (accidental
merges or data exchange between branches)? At least that's my feeling.

 Regarding git vs. mercurial on windows, I use both on a daily basis, like
 both, but prefer git. The only performance complaint I've had relates to
 garbage collection. If you try to `git gc --aggressive --prune=now` a large
 repo, you'll often find that the gc fails due to memory issues even on my
 23GB x64 laptop. This is easily solved by setting the `gc.aggressivewindow`
 config option to a lower value. I'm interested in hearing what perf issues
 John E. has run into.

When looking at the size of the git-svn clone I have a few minutes ago,
I tried git gc --aggressive and it took a bit over 2GB of memory.
As you said, it's a matter of setting the right values (and I believe
the default ones in git are not sane) but the first thing is that
--aggressive is usually not needed nor very useful.
It is nice to save as much space as possible but during my test it saved
only around 5% (from 

Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread LRN
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 28.04.2014 22:42, Adrien Nader wrote:
 On Mon, Apr 28, 2014, Matthew Brett wrote:
 Hi,
 
 On Mon, Apr 28, 2014 at 8:04 AM, John E. / TDM tdra...@tdragon.net 
 wrote:
 On 4/28/2014 5:17 AM, JonY wrote:
 mingw-w64 may migrate from svn to git in the future, seeing that sf 
 can now do multiple repos per project.
 *snip*
 Discuss.
 
 I'm a bit surprised at the choice of Git -- in my experience, Windows
  developers usually prefer Mercurial (http://mercurial.selenic.com/)
  because on Windows it is more lightweight and performant than Git.
 
 I also prefer Mercurial to Git because I find its syntax and workflow
  more intuitive. This is of course personal taste.
 
 Mercurial repositories are also available in SourceForge. But if the 
 primary MinGW-w64 contributors are all more familiar with Git then I 
 suppose it shall be Git.
 
 My two cents. :)
 
 From the sidelines - a big yes please for switching to git.  In my
 experience, the ease of git branching makes it far more comfortable 
 making and proposing changes, even substantial changes.
 
 I hear the same is true of mercurial, but I know it much less well.
 
 I very much like the github pull-request system for code review - does 
 sourceforge have something similar?  I know bitbucket does.  For the 
 projects I'm involved in, pull requests make proposing changes very 
 fluid, and they are good for recording discussion as well.
 
 I quite dislike github and its UI in particular. Uses flash on every page 
 (no idea what for) and lots of javascript which makes my laptop heat and 
 get noisy when displaying something as small as a 3-lines diff.
 
 Anyway, is there an advantage github's pages over doing it on the 
 mailing-list like it is currently done? The amount of messages which
 comes from that doesn't seem to be an issue.

You can do pull-requests with mailing lists [1]

[1] http://stackoverflow.com/questions/6235379


- -- 
O ascii ribbon - stop html email! - www.asciiribbon.org
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (MingW32)

iQEcBAEBAgAGBQJTXqcYAAoJEOs4Jb6SI2CwR6cIAMPnaQ6e7kGUgnOqjS2qKvM4
zKWjGQbkkSM2Wmb02sj8W8A/gT5S5BaE5qv+P9A672xNumz0eP0DfhF15NIMpc8v
d8/SrhofOoj/OZ270MSoSBhLlMuNJUJtS/HEHoAsw1ZgDQ56UN4C9ob6duuyiaJl
nvWu1ut9aT911u0YEhh0KUw9lKfoD4fLxrJHsn14jVztUsAF31hp0tVQkgGNm0SD
V4BWC5nUkpvPU928ZmxllfpcRLCmRbfPCyg3pab41ODQ7DJfmmZg+uf4B/YlhF0/
5fp6EeUGPWx8+l7dSiYgxrJrtRIj31fdeMV0IQ+VQ0bYljIqGNpW0jgtHNK8Vlk=
=ERLc
-END PGP SIGNATURE-

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread Matthew Brett
Hi,

On Mon, Apr 28, 2014 at 11:42 AM, Adrien Nader adr...@notk.org wrote:
 On Mon, Apr 28, 2014, Matthew Brett wrote:
 Hi,

 On Mon, Apr 28, 2014 at 8:04 AM, John E. / TDM tdra...@tdragon.net wrote:
  On 4/28/2014 5:17 AM, JonY wrote:
  mingw-w64 may migrate from svn to git in the future, seeing that sf can
  now do multiple repos per project.
  *snip*
  Discuss.
 
  I'm a bit surprised at the choice of Git -- in my experience, Windows
  developers usually prefer Mercurial (http://mercurial.selenic.com/)
  because on Windows it is more lightweight and performant than Git.
 
  I also prefer Mercurial to Git because I find its syntax and workflow
  more intuitive. This is of course personal taste.
 
  Mercurial repositories are also available in SourceForge. But if the
  primary MinGW-w64 contributors are all more familiar with Git then I
  suppose it shall be Git.
 
  My two cents. :)

 From the sidelines - a big yes please for switching to git.  In my
 experience, the ease of git branching makes it far more comfortable
 making and proposing changes, even substantial changes.

 I hear the same is true of mercurial, but I know it much less well.

 I very much like the github pull-request system for code review - does
 sourceforge have something similar?  I know bitbucket does.  For the
 projects I'm involved in, pull requests make proposing changes very
 fluid, and they are good for recording discussion as well.

 I quite dislike github and its UI in particular. Uses flash on every
 page (no idea what for) and lots of javascript which makes my laptop
 heat and get noisy when displaying something as small as a 3-lines diff.

 Anyway, is there an advantage github's pages over doing it on the
 mailing-list like it is currently done? The amount of messages which
 comes from that doesn't seem to be an issue.

Sometimes it doesn't seem as if small things will make much
difference, but when you try them, they do.

Things really change when you're using git - because

a) work is naturally arranged in commits (this helps review and organization)
b) you can make more substantial changes because branching / merging is so easy

This makes it harder to review patches as text in email, because
patches usually don't carry the commit info, and because it's only
comfortable to review small changes in email text. It's very
inconvenient reviewing larger work-in-progress changes via patches,
because it's easy to lose track of the relationship of previous
comments and code changes.  If the author responds to comments, they
either have to email the whole revised patch again, or you the
developer need to keep a branch of your own in sync with theirs, in
order to test their changes.

This is why the pull-request mechanism is so remarkably good in github
- it makes proposing changes part of ordinary workflow.  A proposed
change is always just a branch.

1) Start work on your own branch
2) Push to your own fork on github while you're working
3) Make pull request via a few clicks or 'hub' command line tool
4) Anyone can comment on whole pull request, individual commits or
individual lines, using github email interface or web form interface.
5) Comments remain on web interface for public record.
6) Developer can rebase on master as needed using same pull request pages.

I think this isn't very obvious at first because svn is so hard to
branch that you very rarely get substantial / long-lived changes
except by the lead developers.

I really like the command line, I use vim as my editor, never use GUIs
for git - but I couldn't live without the github pull-request
interface for my projects.

Cheers,

Matthew

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread Adrien Nader
On Mon, Apr 28, 2014, LRN wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 On 28.04.2014 22:42, Adrien Nader wrote:
  On Mon, Apr 28, 2014, Matthew Brett wrote:
  Hi,
  
  On Mon, Apr 28, 2014 at 8:04 AM, John E. / TDM tdra...@tdragon.net 
  wrote:
  On 4/28/2014 5:17 AM, JonY wrote:
  mingw-w64 may migrate from svn to git in the future, seeing that sf 
  can now do multiple repos per project.
  *snip*
  Discuss.
  
  I'm a bit surprised at the choice of Git -- in my experience, Windows
   developers usually prefer Mercurial (http://mercurial.selenic.com/)
   because on Windows it is more lightweight and performant than Git.
  
  I also prefer Mercurial to Git because I find its syntax and workflow
   more intuitive. This is of course personal taste.
  
  Mercurial repositories are also available in SourceForge. But if the 
  primary MinGW-w64 contributors are all more familiar with Git then I 
  suppose it shall be Git.
  
  My two cents. :)
  
  From the sidelines - a big yes please for switching to git.  In my
  experience, the ease of git branching makes it far more comfortable 
  making and proposing changes, even substantial changes.
  
  I hear the same is true of mercurial, but I know it much less well.
  
  I very much like the github pull-request system for code review - does 
  sourceforge have something similar?  I know bitbucket does.  For the 
  projects I'm involved in, pull requests make proposing changes very 
  fluid, and they are good for recording discussion as well.
  
  I quite dislike github and its UI in particular. Uses flash on every page 
  (no idea what for) and lots of javascript which makes my laptop heat and 
  get noisy when displaying something as small as a 3-lines diff.
  
  Anyway, is there an advantage github's pages over doing it on the 
  mailing-list like it is currently done? The amount of messages which
  comes from that doesn't seem to be an issue.
 
 You can do pull-requests with mailing lists [1]
 
 [1] http://stackoverflow.com/questions/6235379

I'm aware of most of the things available to minimize contact with the
Web UIs of github; I find there's something telling about their
availability. ;p 

-- 
Adrien Nader

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread Jacek Caban
On 04/28/14 13:17, JonY wrote:
 Discuss.

I will just add a huge YEAH from me. I'm happy to help with the migration.

Cheers,
Jacek

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread Matthew Brett
On Mon, Apr 28, 2014 at 12:10 PM, Adrien Nader adr...@notk.org wrote:
 On Mon, Apr 28, 2014, LRN wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 On 28.04.2014 22:42, Adrien Nader wrote:
  On Mon, Apr 28, 2014, Matthew Brett wrote:
  Hi,
 
  On Mon, Apr 28, 2014 at 8:04 AM, John E. / TDM tdra...@tdragon.net
  wrote:
  On 4/28/2014 5:17 AM, JonY wrote:
  mingw-w64 may migrate from svn to git in the future, seeing that sf
  can now do multiple repos per project.
  *snip*
  Discuss.
 
  I'm a bit surprised at the choice of Git -- in my experience, Windows
   developers usually prefer Mercurial (http://mercurial.selenic.com/)
   because on Windows it is more lightweight and performant than Git.
 
  I also prefer Mercurial to Git because I find its syntax and workflow
   more intuitive. This is of course personal taste.
 
  Mercurial repositories are also available in SourceForge. But if the
  primary MinGW-w64 contributors are all more familiar with Git then I
  suppose it shall be Git.
 
  My two cents. :)
 
  From the sidelines - a big yes please for switching to git.  In my
  experience, the ease of git branching makes it far more comfortable
  making and proposing changes, even substantial changes.
 
  I hear the same is true of mercurial, but I know it much less well.
 
  I very much like the github pull-request system for code review - does
  sourceforge have something similar?  I know bitbucket does.  For the
  projects I'm involved in, pull requests make proposing changes very
  fluid, and they are good for recording discussion as well.
 
  I quite dislike github and its UI in particular. Uses flash on every page
  (no idea what for) and lots of javascript which makes my laptop heat and
  get noisy when displaying something as small as a 3-lines diff.
 
  Anyway, is there an advantage github's pages over doing it on the
  mailing-list like it is currently done? The amount of messages which
  comes from that doesn't seem to be an issue.

 You can do pull-requests with mailing lists [1]

 [1] http://stackoverflow.com/questions/6235379

 I'm aware of most of the things available to minimize contact with the
 Web UIs of github; I find there's something telling about their
 availability. ;p

Yes, some people really don't like web UIs. These people are usually
experienced developers who are not easily deterred from working out
their own tools for doing stuff the way they want.   I think the point
of the github interface is lowering the barrier for people who are not
(yet) in that camp, or who are in that camp but don't yet know how to
automate their work with git in a satisfying way.

Actually, I usually really don't like web UIs, with the single
exception of the github pull request interface.  For example, I
usually use the 'hub' command line tool to interact with github [1].
I just found 'git-pulls' [2] which also looks useful.  For commenting
on large blocks of changes, I want the web interface.

For example - maybe take a look at some of the 'how to contribute'
pages for github projects.  Here's an example from project I know
well:

http://sympy.org/en/development.html

In there you'll see:

The github pull request is a preferred method, as that makes it easy
for us to review and push the code in. That said, you can also clone
the latest git repository (see the link on the right), prepare a
branch with your code, upload it somewhere (for examplegithub) and
send us a link to the sympy-patches mailinglist, or you can even send
us raw patches --- but it will be more work for us to integrate it.

Cheers,

Matthew

[1] https://github.com/github/hub
[2] https://github.com/schacon/git-pulls

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread Adrien Nader
On Mon, Apr 28, 2014, Matthew Brett wrote:
 Hi,
 
 On Mon, Apr 28, 2014 at 11:42 AM, Adrien Nader adr...@notk.org wrote:
  On Mon, Apr 28, 2014, Matthew Brett wrote:
  Hi,
 
  On Mon, Apr 28, 2014 at 8:04 AM, John E. / TDM tdra...@tdragon.net wrote:
   On 4/28/2014 5:17 AM, JonY wrote:
   mingw-w64 may migrate from svn to git in the future, seeing that sf can
   now do multiple repos per project.
   *snip*
   Discuss.
  
   I'm a bit surprised at the choice of Git -- in my experience, Windows
   developers usually prefer Mercurial (http://mercurial.selenic.com/)
   because on Windows it is more lightweight and performant than Git.
  
   I also prefer Mercurial to Git because I find its syntax and workflow
   more intuitive. This is of course personal taste.
  
   Mercurial repositories are also available in SourceForge. But if the
   primary MinGW-w64 contributors are all more familiar with Git then I
   suppose it shall be Git.
  
   My two cents. :)
 
  From the sidelines - a big yes please for switching to git.  In my
  experience, the ease of git branching makes it far more comfortable
  making and proposing changes, even substantial changes.
 
  I hear the same is true of mercurial, but I know it much less well.
 
  I very much like the github pull-request system for code review - does
  sourceforge have something similar?  I know bitbucket does.  For the
  projects I'm involved in, pull requests make proposing changes very
  fluid, and they are good for recording discussion as well.
 
  I quite dislike github and its UI in particular. Uses flash on every
  page (no idea what for) and lots of javascript which makes my laptop
  heat and get noisy when displaying something as small as a 3-lines diff.
 
  Anyway, is there an advantage github's pages over doing it on the
  mailing-list like it is currently done? The amount of messages which
  comes from that doesn't seem to be an issue.
 
 Sometimes it doesn't seem as if small things will make much
 difference, but when you try them, they do.
 
 Things really change when you're using git - because
 
 a) work is naturally arranged in commits (this helps review and organization)
 b) you can make more substantial changes because branching / merging is so 
 easy
 
 This makes it harder to review patches as text in email, because
 patches usually don't carry the commit info, and because it's only
 comfortable to review small changes in email text. It's very
 inconvenient reviewing larger work-in-progress changes via patches,
 because it's easy to lose track of the relationship of previous
 comments and code changes.  If the author responds to comments, they
 either have to email the whole revised patch again, or you the
 developer need to keep a branch of your own in sync with theirs, in
 order to test their changes.
 
 This is why the pull-request mechanism is so remarkably good in github
 - it makes proposing changes part of ordinary workflow.  A proposed
 change is always just a branch.
 
 1) Start work on your own branch
 2) Push to your own fork on github while you're working
 3) Make pull request via a few clicks or 'hub' command line tool
 4) Anyone can comment on whole pull request, individual commits or
 individual lines, using github email interface or web form interface.
 5) Comments remain on web interface for public record.
 6) Developer can rebase on master as needed using same pull request pages.
 
 I think this isn't very obvious at first because svn is so hard to
 branch that you very rarely get substantial / long-lived changes
 except by the lead developers.
 
 I really like the command line, I use vim as my editor, never use GUIs
 for git - but I couldn't live without the github pull-request
 interface for my projects.

I see, thanks.

When the amount of code to review gets larger, I simply run gitk which
is not pretty but works really well. Gives the commit history and diffs
and files modified; it's one of the 3 non-CLI applications I run on a
daily basis.

I also like that once the changes are available locally (not necessarily
checked out on disk), I can use the usual tools to find and grep while
github's search has never helped me find something interesting (and same
for everyone around me).

-- 
Adrien Nader

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread Adrien Nader
One more note on the TODO: chose how commits are organized.

I like: feature branches (I think everyone does) and rebase on master
before merge provided the branch hasn't been merged elsewhere too.
This gives a linear history which is much nicer than octopuss-shaped
graphs. In case anyone doubts it I'll screenshot the result at work.

-- 
Adrien Nader

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread Matthew Brett
Hi,

On Mon, Apr 28, 2014 at 12:38 PM, Adrien Nader adr...@notk.org wrote:
 On Mon, Apr 28, 2014, Matthew Brett wrote:
 Hi,

 On Mon, Apr 28, 2014 at 11:42 AM, Adrien Nader adr...@notk.org wrote:
  On Mon, Apr 28, 2014, Matthew Brett wrote:
  Hi,
 
  On Mon, Apr 28, 2014 at 8:04 AM, John E. / TDM tdra...@tdragon.net 
  wrote:
   On 4/28/2014 5:17 AM, JonY wrote:
   mingw-w64 may migrate from svn to git in the future, seeing that sf can
   now do multiple repos per project.
   *snip*
   Discuss.
  
   I'm a bit surprised at the choice of Git -- in my experience, Windows
   developers usually prefer Mercurial (http://mercurial.selenic.com/)
   because on Windows it is more lightweight and performant than Git.
  
   I also prefer Mercurial to Git because I find its syntax and workflow
   more intuitive. This is of course personal taste.
  
   Mercurial repositories are also available in SourceForge. But if the
   primary MinGW-w64 contributors are all more familiar with Git then I
   suppose it shall be Git.
  
   My two cents. :)
 
  From the sidelines - a big yes please for switching to git.  In my
  experience, the ease of git branching makes it far more comfortable
  making and proposing changes, even substantial changes.
 
  I hear the same is true of mercurial, but I know it much less well.
 
  I very much like the github pull-request system for code review - does
  sourceforge have something similar?  I know bitbucket does.  For the
  projects I'm involved in, pull requests make proposing changes very
  fluid, and they are good for recording discussion as well.
 
  I quite dislike github and its UI in particular. Uses flash on every
  page (no idea what for) and lots of javascript which makes my laptop
  heat and get noisy when displaying something as small as a 3-lines diff.
 
  Anyway, is there an advantage github's pages over doing it on the
  mailing-list like it is currently done? The amount of messages which
  comes from that doesn't seem to be an issue.

 Sometimes it doesn't seem as if small things will make much
 difference, but when you try them, they do.

 Things really change when you're using git - because

 a) work is naturally arranged in commits (this helps review and organization)
 b) you can make more substantial changes because branching / merging is so 
 easy

 This makes it harder to review patches as text in email, because
 patches usually don't carry the commit info, and because it's only
 comfortable to review small changes in email text. It's very
 inconvenient reviewing larger work-in-progress changes via patches,
 because it's easy to lose track of the relationship of previous
 comments and code changes.  If the author responds to comments, they
 either have to email the whole revised patch again, or you the
 developer need to keep a branch of your own in sync with theirs, in
 order to test their changes.

 This is why the pull-request mechanism is so remarkably good in github
 - it makes proposing changes part of ordinary workflow.  A proposed
 change is always just a branch.

 1) Start work on your own branch
 2) Push to your own fork on github while you're working
 3) Make pull request via a few clicks or 'hub' command line tool
 4) Anyone can comment on whole pull request, individual commits or
 individual lines, using github email interface or web form interface.
 5) Comments remain on web interface for public record.
 6) Developer can rebase on master as needed using same pull request pages.

 I think this isn't very obvious at first because svn is so hard to
 branch that you very rarely get substantial / long-lived changes
 except by the lead developers.

 I really like the command line, I use vim as my editor, never use GUIs
 for git - but I couldn't live without the github pull-request
 interface for my projects.

 I see, thanks.

 When the amount of code to review gets larger, I simply run gitk which
 is not pretty but works really well. Gives the commit history and diffs
 and files modified; it's one of the 3 non-CLI applications I run on a
 daily basis.

 I also like that once the changes are available locally (not necessarily
 checked out on disk), I can use the usual tools to find and grep while
 github's search has never helped me find something interesting (and same
 for everyone around me).

Sure, if the changes get large, then I often find myself checking out
the branch locally as well.  The pain comes when commenting on changes
line by line using email, and that soon becomes very annoying on a
commit - by - commit basis, and tough for the author to track.

I haven't found it much of a problem going between the web interface
for comments and using local tools to look at diffs, but ``git-pulls
browse`` looks like a nice way do to that.

Cheers,

Matthew

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS 

Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread LRN
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 28.04.2014 23:29, Matthew Brett wrote:
 On Mon, Apr 28, 2014 at 12:10 PM, Adrien Nader adr...@notk.org wrote:
 On Mon, Apr 28, 2014, LRN wrote:
 -BEGIN PGP SIGNED MESSAGE- Hash: SHA1
 
 On 28.04.2014 22:42, Adrien Nader wrote:
 On Mon, Apr 28, 2014, Matthew Brett wrote:
 Hi,
 
 On Mon, Apr 28, 2014 at 8:04 AM, John E. / TDM
 tdra...@tdragon.net wrote:
 On 4/28/2014 5:17 AM, JonY wrote:
 mingw-w64 may migrate from svn to git in the future, seeing
 that sf can now do multiple repos per project.
 *snip*
 Discuss.
 
 I'm a bit surprised at the choice of Git -- in my experience,
 Windows developers usually prefer Mercurial
 (http://mercurial.selenic.com/) because on Windows it is more
 lightweight and performant than Git.
 
 I also prefer Mercurial to Git because I find its syntax and
 workflow more intuitive. This is of course personal taste.
 
 Mercurial repositories are also available in SourceForge. But if
 the primary MinGW-w64 contributors are all more familiar with
 Git then I suppose it shall be Git.
 
 My two cents. :)
 
 From the sidelines - a big yes please for switching to git.  In
 my
 experience, the ease of git branching makes it far more
 comfortable making and proposing changes, even substantial
 changes.
 
 I hear the same is true of mercurial, but I know it much less
 well.
 
 I very much like the github pull-request system for code review -
 does sourceforge have something similar?  I know bitbucket does.
 For the projects I'm involved in, pull requests make proposing
 changes very fluid, and they are good for recording discussion as
 well.
 
 I quite dislike github and its UI in particular. Uses flash on every
 page (no idea what for) and lots of javascript which makes my laptop
 heat and get noisy when displaying something as small as a 3-lines
 diff.
 
 Anyway, is there an advantage github's pages over doing it on the 
 mailing-list like it is currently done? The amount of messages
 which comes from that doesn't seem to be an issue.
 
 You can do pull-requests with mailing lists [1]
 
 [1] http://stackoverflow.com/questions/6235379
 
 I'm aware of most of the things available to minimize contact with the 
 Web UIs of github; I find there's something telling about their 
 availability. ;p
 
 Yes, some people really don't like web UIs. These people are usually 
 experienced developers who are not easily deterred from working out their
 own tools for doing stuff the way they want.   I think the point of the
 github interface is lowering the barrier for people who are not (yet) in
 that camp, or who are in that camp but don't yet know how to automate
 their work with git in a satisfying way.
 
 Actually, I usually really don't like web UIs, with the single exception
 of the github pull request interface.  For example, I usually use the
 'hub' command line tool to interact with github [1]. I just found
 'git-pulls' [2] which also looks useful.  For commenting on large blocks
 of changes, I want the web interface.
 
 For example - maybe take a look at some of the 'how to contribute' pages
 for github projects.  Here's an example from project I know well:
 
 http://sympy.org/en/development.html
 
 In there you'll see:
 
 The github pull request is a preferred method, as that makes it easy for
 us to review and push the code in. That said, you can also clone the
 latest git repository (see the link on the right), prepare a branch with
 your code, upload it somewhere (for examplegithub) and send us a link to
 the sympy-patches mailinglist, or you can even send us raw patches --- but
 it will be more work for us to integrate it.
 

For the record, i've had a nasty squabble with a hexchat developer, because
he wouldn't accept contributions in any format other than a git pull from
github. Since i wasn't about to create a fork of hexchat on github (because
github is not free, as in free speech) to send pull requests from, i
couldn't accommodate that policy.

- -- 
O ascii ribbon - stop html email! - www.asciiribbon.org
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (MingW32)

iQEcBAEBAgAGBQJTXrR2AAoJEOs4Jb6SI2CwqfMH/0qN54FOl2tjSsqSr5AEOrVB
mtmHS11lMgNIZXXdZ+g1Bmir9HLi5eAs8HPLbCS8Xb5CyOsWZlltX6sURV9ShncB
1PdcHzi1CrgxafAtp3B+mOzum55huhTCZWuFLYIVCFgS6gQ23wyMpTKQR2+gYwcF
qEIrRPe+itInM0sf5pFQdtpE8DyGsmU9IlRGoEP06lUVbZ+0RS2q2mpT8GWKL1cF
zwbjfkbknWp0A0fOp1mXf94zSka1DK19Pn+UHcQirgshzyzisUyCGYweqIanOCR6
/hHwQBSt57dKxjiQvkmMXQ0PZFg2iGcHvUXtyimV8J/BGVqzfNHwrr4+3nebaW8=
=hcH/
-END PGP SIGNATURE-

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Mingw-w64-public 

Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread Matthew Brett
Hi,

On Mon, Apr 28, 2014 at 1:05 PM, LRN lrn1...@gmail.com wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 On 28.04.2014 23:29, Matthew Brett wrote:
 On Mon, Apr 28, 2014 at 12:10 PM, Adrien Nader adr...@notk.org wrote:
 On Mon, Apr 28, 2014, LRN wrote:
 -BEGIN PGP SIGNED MESSAGE- Hash: SHA1

 On 28.04.2014 22:42, Adrien Nader wrote:
 On Mon, Apr 28, 2014, Matthew Brett wrote:
 Hi,

 On Mon, Apr 28, 2014 at 8:04 AM, John E. / TDM
 tdra...@tdragon.net wrote:
 On 4/28/2014 5:17 AM, JonY wrote:
 mingw-w64 may migrate from svn to git in the future, seeing
 that sf can now do multiple repos per project.
 *snip*
 Discuss.

 I'm a bit surprised at the choice of Git -- in my experience,
 Windows developers usually prefer Mercurial
 (http://mercurial.selenic.com/) because on Windows it is more
 lightweight and performant than Git.

 I also prefer Mercurial to Git because I find its syntax and
 workflow more intuitive. This is of course personal taste.

 Mercurial repositories are also available in SourceForge. But if
 the primary MinGW-w64 contributors are all more familiar with
 Git then I suppose it shall be Git.

 My two cents. :)

 From the sidelines - a big yes please for switching to git.  In
 my
 experience, the ease of git branching makes it far more
 comfortable making and proposing changes, even substantial
 changes.

 I hear the same is true of mercurial, but I know it much less
 well.

 I very much like the github pull-request system for code review -
 does sourceforge have something similar?  I know bitbucket does.
 For the projects I'm involved in, pull requests make proposing
 changes very fluid, and they are good for recording discussion as
 well.

 I quite dislike github and its UI in particular. Uses flash on every
 page (no idea what for) and lots of javascript which makes my laptop
 heat and get noisy when displaying something as small as a 3-lines
 diff.

 Anyway, is there an advantage github's pages over doing it on the
 mailing-list like it is currently done? The amount of messages
 which comes from that doesn't seem to be an issue.

 You can do pull-requests with mailing lists [1]

 [1] http://stackoverflow.com/questions/6235379

 I'm aware of most of the things available to minimize contact with the
 Web UIs of github; I find there's something telling about their
 availability. ;p

 Yes, some people really don't like web UIs. These people are usually
 experienced developers who are not easily deterred from working out their
 own tools for doing stuff the way they want.   I think the point of the
 github interface is lowering the barrier for people who are not (yet) in
 that camp, or who are in that camp but don't yet know how to automate
 their work with git in a satisfying way.

 Actually, I usually really don't like web UIs, with the single exception
 of the github pull request interface.  For example, I usually use the
 'hub' command line tool to interact with github [1]. I just found
 'git-pulls' [2] which also looks useful.  For commenting on large blocks
 of changes, I want the web interface.

 For example - maybe take a look at some of the 'how to contribute' pages
 for github projects.  Here's an example from project I know well:

 http://sympy.org/en/development.html

 In there you'll see:

 The github pull request is a preferred method, as that makes it easy for
 us to review and push the code in. That said, you can also clone the
 latest git repository (see the link on the right), prepare a branch with
 your code, upload it somewhere (for examplegithub) and send us a link to
 the sympy-patches mailinglist, or you can even send us raw patches --- but
 it will be more work for us to integrate it.


 For the record, i've had a nasty squabble with a hexchat developer, because
 he wouldn't accept contributions in any format other than a git pull from
 github. Since i wasn't about to create a fork of hexchat on github (because
 github is not free, as in free speech) to send pull requests from, i
 couldn't accommodate that policy.

I can certainly see the argument that github is not open-source, and
therefore implies some level of vendor lock-in.

There are open-source alternatives, but I haven't used them for
anything more than playing with.

I also agree it should always be possible to submit changes without
github.  So if the author of the change prefers to email the patch, it
seems silly to object.  The key thing surely is to reduce the barrier
for contribution as far as possible while keeping the barrier for
maintainers at a reasonable level.

Cheers,

Matthew

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs

Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread John E. / TDM
On 4/28/2014 12:11 PM, Jon wrote:
 Regarding git vs. mercurial on windows, I use both on a daily basis, 
 like both, but prefer git. The only performance complaint I've had 
 relates to garbage collection. If you try to `git gc --aggressive 
 --prune=now` a large repo, you'll often find that the gc fails due to 
 memory issues even on my 23GB x64 laptop. This is easily solved by 
 setting the `gc.aggressivewindow` config option to a lower value. I'm 
 interested in hearing what perf issues John E. has run into.

In general, the larger and older the codebase, the more Git's 
performance on Windows worsens in comparison to Mercurial's. I've 
noticed this for day-to-day operations (commits, merges, patch queues / 
quilts), and even more so for operations requiring deeper historical 
data -- blames, change histories, etc. This has been my experience with 
a couple of large codebases (for example, GCC's git mirrors) and I see 
it corroborated in many other places ([1] for example).

Not that I want to start a new VCS holy war. If MinGW-w64 switches to 
Git, I will grin and bear it. :)

-John E. / TDM

[1] - 
http://blogs.atlassian.com/2012/02/mercurial-vs-git-why-mercurial/ 
(see also http://blogs.atlassian.com/2012/03/git-vs-mercurial-why-git/)

--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread Jon
On Mon, Apr 28, 2014 at 2:32 PM, Adrien Nader adr...@notk.org wrote:

 On Mon, Apr 28, 2014, Jon wrote:
  On Mon, Apr 28, 2014 at 10:03 AM, LRN lrn1...@gmail.com wrote:
 
   -BEGIN PGP SIGNED MESSAGE-
   Hash: SHA1
  
   On 28.04.2014 17:04, JonY wrote:
On 4/28/2014 19:53, Ruben Van Boxem wrote:
Different repositories may sound like a nice idea, but keeping them
 in
sync can be a pain, depending on the complexity of the subprojects.
 I
believe stuff like ironcrate, winpthreads and perhaps the
mingw-w64-tools folder deserve their own repo, as they are very
 seperate
from the headers+crt. These latter two I'd suggest to keep
 together, as
that will reduce the chances of wrong versions being used together
 and
allow 1 commit to change both to keep them aligned without any
 hassle.
In contrast, I would try to move away from a seperate experimental
directory, and instead inject these changes into a branch (or
 several,
so that each finished feature can be merged easily). Branches and
merging are the git way, and rebasing allows for clean merges.
   
   
For ease of migration, every module in trunk would go into the same
 repo,
so that would include winpthreads and mingw-w64-tools. I'm not sure
 if we
can exclude files from the import unless we want to completely
 break
apart trunk into components. However, I am also trying to avoid too
 many
separate repos and git submodules.
   
Right now, I am thinking of splitting it 3 ways, the mingw-w64 proper
(with anything from experimental if applicable), web, and
 experimental
   (if
it actually justifies a separate repo, otherwise, it might be
 archived
   and
left as is on SVN).
  
   My experience so far:
   1) When i build gcc, i often need to build mingw-w64-headers,
 mingw-w64-crt
   and winpthreads not together, but separately, at different points of
 time.
   To
   this end i'm svn-checkouting from a subdirectory to get only one of the
   three.
   I don't remember whether git has that ability; possibly not. If that
 is the
   case, these may need to go into separate repos (possibly submodules?).
  
   2) The git branches are for branching out from the main development
 line
   (and merging back at some later point), not for completely separate
 stuff.
   If
   you keep completely different stuff in different branches, switching
   branches
   (which usually takes less than a second) will take a long time
 (depending
   on
   the size, up to 10 seconds or more). The svn branches are more like
 git
   repos - completely independent, they just live together :)
  
  
  While you're investigating different git repo structures, I highly
 suggest
  you investigate git's lightly documented orphan branches. These allow
  multiple disparate branches to exist in a single repo. They allow you to
  create blank slate style branches based upon a very early initial
 commit.
  They work quite different than the merge friendly git branches you
  typically see documented. You can still cherrypick from other branches if
  needed.
 
  https://www.kernel.org/pub/software/scm/git/docs/git-checkout.html
 
  For example, say you want winpthreads on it's own branch that doesn't
  contain winpthreads unrelated commits. Create the orphan branch similar
 to
 
  # start_point is an initial commit that typically includes only your
  `.gitattributes` and `.gitignore` files. Consider
  # start_point to be the primordial branch commit.
  git checkout --orphan winpthreads start_point
 
  # discover that the primordial branch commit start_point is already
  staged; commit it
  # as the winpthreads branch initial commit
  git commit -m Initial commit; project attributes and ignores
 
  # add all the winpthreads specific code to this otherwise
  git commit -am Add winpthreads source
 
  # tag the commit with a well-known tag (IIRC, these types of tags are
  isolated to a single branch so you
  # likely want some namespacing)
  git tag winpthreads-0.5.1
 
  # what have I just done?
  git log --decorate --oneline
 
  # make it so
  git push  git push --tags

 Aren't they a bit difficult to manipulate and error-prone (accidental
 merges or data exchange between branches)? At least that's my feeling.


I don't see how using orphan branches are any more error-prone than any
other type of branch. That said, since stand-alone orphan branches likely
are not used as much as feature branches, perhaps this could be a valid
concern. Try creating a clean history orphan branch and play with it. I
think you find it useful for certain scenarios. It's an easy way to emulate
a repo-within-a-repo type structure without too many mental hijinks.

Regarding per-file (emulated) attributes, check out
https://www.kernel.org/pub/software/scm/git/docs/gitattributes.html  While
EOL and binary file issues are easily solved, I'm not sure how mime type
issues are best solved, if at all, with gitattributes.

Re: [Mingw-w64-public] mingw-w64 may move to git in the future

2014-04-28 Thread Óscar Fuentes
Adrien Nader adr...@notk.org writes:

 I quite dislike github and its UI in particular. Uses flash on every
 page (no idea what for) and lots of javascript which makes my laptop
 heat and get noisy when displaying something as small as a 3-lines diff.

I see no flash at all on Github (it is activated only on request on my
web browser) and CPU usage is almost zero. Some months ago I tried using
Github with Javascript disabled and it worked fine for
opening/commenting on issues and for browsing commits. I don't recall if
I tried pull requests too, but the message I got was that Github cares
about people who doesn't want Javascript.

Not that I'm suggesting a switch to Github...

[snip]


--
Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.  Get 
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free.
http://p.sf.net/sfu/SauceLabs
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public