See, this would solve the problem I have. "Alpha" in the software dev world is designed for testing. "Alpha" in the CurseForge world is just every commit. Fix that, and I will have no problem with people testing alphas, because that's actually what they'd be.
No, that just wastes time. The problem is that every commit shouldn't be alpha, it should be nothing.
If you use Git, you can do all the local commits you want on your own machine. When you are satisfied with all those commits, you can then push it all at one go to the wowace server in one push that generates one alpha zip.
If you use Git, you can do all the local commits you want on your own machine. When you are satisfied with all those commits, you can then push it all at one go to the wowace server in one push that generates one alpha zip.
That doesn't solve it for the wandering coder. Someone who is stealing 20 minutes 10 times a day to = hrs of dev time.
Checkins != alphas, Is that really what is happening? Yikes.
If you use Git, you can do all the local commits you want on your own machine. When you are satisfied with all those commits, you can then push it all at one go to the wowace server in one push that generates one alpha zip.
Git sounds cool -- unfortunately my work uses SVN and I work from home, so it just makes more sense to use SVN across the board.
Hmmm. OK, you talked me into at least trying it. :D
The main concepts of git that are different from SVN:
1) Git is distributed.
When you clone (or clone) a git repo, it is 100% complete, and has the full history. This means you can view every commit locally without connecting to the server.
When you make commits to your local repo, they are local, no other repo has your commits yet. You can choose to publish these commits by pushing them somewhere, and other people can connect to your online repo with their repo to see your commits. They can then choose whether to merge your commits into their master (trunk) branch.
There isn't a central server, unless you consider the central one as the one wowace packages zips from.
2) In SVN, you have a "working copy" and a "base copy". When you make changes, you have generate a diff between the 2, and the diff is commited and uploaded to the server.
In Git, you have a "working copy", a "staging area" and a "base copy". When you make changes, you do a "temporary commit" from the working copy to the staging area. The staging area accumulates "temporary commits". When doing diffs, you are given a diff between your working copy and your staging area. When you are finally satisfied, you then do an actual single commit which commits your accumulated changes from the staging area into your base copy. You can opt to view diffs between the SA and BC as well.
This means you can make 10 changes in your WC (because you made 8 changes on implementing one feature, and fixed 2 other random things you found by chance), commit 8 of them into the SA (you can cherrypick which changes to commit via GUI or CLI), and then commit them as your first commit, then commit the other 2 as seperate commits.
A tutorial to get you started: http://kylecordes.com/2008/04/30/git-windows-go/
Note that the tutorial tells you how to get git working with GitHub, but the steps are near identical on wowace.
Finally read the first 2 chapters in http://www.kernel.org/pub/software/scm/git/docs/user-manual.html
And you should be golden. You'll probably never ever need to learn how to merge in git - its so good you will rarely encounter merging issues. Most (not all, I haven't found a way to create an annotated tag in the GUI yet, maybe I didn't look hard enough) of the stuff you can do in the CLI can be done in the GUI as well.
Thanks, Xinhuan, I'll take a look. Maybe you can answer these, too: Is there any (easy) way to import an SVN repo into git, including the history? (I realize since git is decentralized that could be a tough problem.) Has anyone done Visual Studio integration that you know of? I could potentially get my work to switch if so.
Thanks, Xinhuan, I'll take a look. Maybe you can answer these, too: Is there any (easy) way to import an SVN repo into git, including the history? (I realize since git is decentralized that could be a tough problem.) Has anyone done Visual Studio integration that you know of? I could potentially get my work to switch if so.
One of the most useful commands you will ever use is
gitk --all
which is also available from Git GUI's main menu (View all branches history). Use it often. Without the --all argument, it just shows the history of the current branch, rather than all branches (including all remote repos and branches) you are tracking.
I'm not currently using CurseForge repos for my addons, but I agree with the rest of these guys. The client should not be able to download every single commit; this is exactly what led to the eventual downfall of files.wowace.com and WAU, and I believe the detriment of the entire addon community. If the author thinks that a particular commit is stable/usable enough for general use, and wants the public to be able to access it, he can damn well take a few seconds to tag it.
Tonight I'll be calling home an hour before I leave work to have my boyfriend log me in... if I'm lucky I won't have too much of a wait by the time I actually get home.
Rollback Post to RevisionRollBack
To post a comment, please login or register a new account.
If you use Git, you can do all the local commits you want on your own machine. When you are satisfied with all those commits, you can then push it all at one go to the wowace server in one push that generates one alpha zip.
That doesn't solve it for the wandering coder. Someone who is stealing 20 minutes 10 times a day to = hrs of dev time.
Checkins != alphas, Is that really what is happening? Yikes.
Git sounds cool -- unfortunately my work uses SVN and I work from home, so it just makes more sense to use SVN across the board.
I assure you git is far far better, takes about 1 day to learn. :)
Hmmm. OK, you talked me into at least trying it. :D
The main concepts of git that are different from SVN:
1) Git is distributed.
When you clone (or clone) a git repo, it is 100% complete, and has the full history. This means you can view every commit locally without connecting to the server.
When you make commits to your local repo, they are local, no other repo has your commits yet. You can choose to publish these commits by pushing them somewhere, and other people can connect to your online repo with their repo to see your commits. They can then choose whether to merge your commits into their master (trunk) branch.
There isn't a central server, unless you consider the central one as the one wowace packages zips from.
2) In SVN, you have a "working copy" and a "base copy". When you make changes, you have generate a diff between the 2, and the diff is commited and uploaded to the server.
In Git, you have a "working copy", a "staging area" and a "base copy". When you make changes, you do a "temporary commit" from the working copy to the staging area. The staging area accumulates "temporary commits". When doing diffs, you are given a diff between your working copy and your staging area. When you are finally satisfied, you then do an actual single commit which commits your accumulated changes from the staging area into your base copy. You can opt to view diffs between the SA and BC as well.
This means you can make 10 changes in your WC (because you made 8 changes on implementing one feature, and fixed 2 other random things you found by chance), commit 8 of them into the SA (you can cherrypick which changes to commit via GUI or CLI), and then commit them as your first commit, then commit the other 2 as seperate commits.
Yes.
This one is one of the better ones:
http://code.google.com/p/msysgit/
A tutorial to get you started:
http://kylecordes.com/2008/04/30/git-windows-go/
Note that the tutorial tells you how to get git working with GitHub, but the steps are near identical on wowace.
Finally read the first 2 chapters in
http://www.kernel.org/pub/software/scm/git/docs/user-manual.html
And you should be golden. You'll probably never ever need to learn how to merge in git - its so good you will rarely encounter merging issues. Most (not all, I haven't found a way to create an annotated tag in the GUI yet, maybe I didn't look hard enough) of the stuff you can do in the CLI can be done in the GUI as well.
Visual Studio integration? No.
Importing a SVN repo into Git? You can do it. See the documentation for the "git svn" command:
http://www.kernel.org/pub/software/scm/git/docs/git-svn.html
Sample guide:
http://github.com/guides/import-from-subversion
(This pushes to Github, just substitute address with wowace one)
gitk --all
which is also available from Git GUI's main menu (View all branches history). Use it often. Without the --all argument, it just shows the history of the current branch, rather than all branches (including all remote repos and branches) you are tracking.
Git - SVN Crash Course: http://git.or.cz/course/svn.html
and
Git Cheat Sheet: http://github.com/guides/git-cheat-sheet
Could someone add a page for these in the knowledge base? Not just Git, but SVN and Mercurial as well. This would be a nice start.
Maybe I'll create one... after I hit level 80.
Then you'd better ask Blizzard to do something about your realm's 2-hour queues...
I should have said "2-plus-hour" but for some reason the idea of using the word didn't occur to me and the thought of "2-+-hour" was absurd.
Tonight I'll be calling home an hour before I leave work to have my boyfriend log me in... if I'm lucky I won't have too much of a wait by the time I actually get home.