Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
sonic bed head
Dec 18, 2003

this is naturual, baby!
I am making this megathread because I often have questions with no answers rather than me having all the answers myself, but here are some resources.

SVN Red-Bean book - complete book on all of SVN functionality. A must read for anyone that uses SVN on a regular basis. It has helped me immensely once I got the idea of merging.

A tour of Git - basically a rundown of the useful commands.

Mercurial: The Definitive Guide - Recommended by Bonus

If anyone has any other link suggestions, let me know.

On to my question...

I have one trunk directory and used svn copy to make a branch. I've changed some things in the trunk including deleting some files. I've used svn log to figure out when the branch was made and what revisions I need to merge and proceeded to try to merge the changes from trunk into the branch. Everything merges correctly except the deletes. The svn merge command just says "skipped" next to all of the files that should have been deleted but all of the other changes are merged perfectly. I thought that skipped usually meant that a change was made to a file that doesn't exist in the working copy, but the file is definitely there (in repository as well as working copy) so I don't know what's wrong.

MonkeyMaker posted:

Didn't see this posted on the last page or so. Pro Git, new book, available for free online: http://progit.org/book/

sonic bed head fucked around with this message at 04:08 on Aug 4, 2009

Adbot
ADBOT LOVES YOU

sonic bed head
Dec 18, 2003

this is naturual, baby!

mwarkentin posted:

OP, did you use the "svn delete" command to delete the files, or did you remove them manually?

I used "svn delete." The files are definitely not in the head revision of the trunk. Also, the merge command is exactly skipping the ones that have been deleted, so it must know that the deletions have happened.

sonic bed head
Dec 18, 2003

this is naturual, baby!
Is it possible to run an svn log that takes into account the current revision and goes some amount of revisions back? Basically I'm looking for something equivalent to this without searching back for a revision number.
code:
svn log -r -5:HEAD

sonic bed head
Dec 18, 2003

this is naturual, baby!

ignorant slut posted:

subversion question:

is there a command that allows one to see commits per author in the repo?

code:
svn log | grep USER_NAME

sonic bed head
Dec 18, 2003

this is naturual, baby!

OddObserver posted:

Well... svn log --limit 5 would print the last 5 changelog entries, which may be more than 5 rnumbers back, is that OK? If it's not, dunno of a builtin option, but you could probably grep it out of 'svn info' output easily, so a quick script in your scripting language of choice may be less work than reading the manual.

:)
That's exactly what I'm looking for. I didn't know that there was a limit option.

sonic bed head
Dec 18, 2003

this is naturual, baby!
I had a trunk directory out of which I made a branch a few months ago. All development was in the branch and we had < 10 small bug fixes in the trunk. I merged the trunk into the branch so now all of the bug fixes are in the branch and the branch is now the perfect production ready bit of code. How can I now just move this directly to the trunk directory and keep the correct revision history? I tried merging the branch back into the trunk and it skipped a million things and had conflicts, which shouldn't happen because nothing has changed in those files. Some files even had the status "R" which I can't find documented anywhere. Thanks in advance.

sonic bed head
Dec 18, 2003

this is naturual, baby!

epswing posted:

"Ignore strange behavior" is not a real solution. Something is definitely wrong here, either in my understanding or in svn itself.

I am pretty sure that your understanding of what svn:ignore does is incorrect. svn:ignore has nothing to do with the repository/server. It is just a setting that tells the client to ignore that directory when updating/committing. It doesn't mean that you can't force an update by calling it directly on that directory, it just means that if a higher directory is updated, svn will ignore updating that directory from the repository.

sonic bed head
Dec 18, 2003

this is naturual, baby!
If I have a working copy checked out with local changes, is it possible for me to copy that working copy to make a pristine, non changed copy locally? I am trying to have two different copies of the same branch, but I don't want to go through checking it out again because it's huge and will take 45 minutes on my slow internet connection. I also don't want to revert my current working copy. Thanks.

sonic bed head
Dec 18, 2003

this is naturual, baby!
Is there any way to prevent certain directories from being checked out by users in SVN? I can't find a hook that corresponds and I'm not using DAV but rather just svn+ssh.

sonic bed head
Dec 18, 2003

this is naturual, baby!

Doc Block posted:

It's in the configuration/authorization stuff for the repository. check /path/to/your/repos/conf (or /repos/config, I can't remember).

Of course, it depends on the authorization scheme you're using.

Which authorization schemes work? Can I still use svn+ssh? I would like to just keep using shell accounts rather than set something else up.

sonic bed head
Dec 18, 2003

this is naturual, baby!
How big is what you are trying to check out? Are you talking gigabytes? I've checked out up to about 4GB before and it's never been too much of a problem. Have you tried using the command line instead of tortoise and seeing what happens?

sonic bed head
Dec 18, 2003

this is naturual, baby!

BizarroAzrael posted:

I actually did a Robocopy from another copy on another machine, which seemed to go fine. Will this be alright for things like commits, or will it identify me as the person I copied it from? Might this be a better solution than a normal checkout?

As long as you also copied the .svn directories, it is exactly the same as a checkout. SVN isn't really built for tons of binary files like that. This might help.

http://stackoverflow.com/questions/538643/how-good-is-subversion-at-storing-lots-of-binary-files

sonic bed head
Dec 18, 2003

this is naturual, baby!
Does anyone know of any resources that I can read that can help me in an effort to have a CVS and mercurial version of a codebase that can be easily kept in sync? The higherups don't yet want a clean switch to mercurial and they want to be able to use both for a certain amount of time.

Adbot
ADBOT LOVES YOU

sonic bed head
Dec 18, 2003

this is naturual, baby!

b0lt posted:

I want to track my programming assignments for a class with git. Are there any free git hosting providers that offer private repositories? Would putting each assignment in its own folder in a repo be the best way to organize things? I've got an extremely limited amount of disk quota on the university AFS share (5 MB? really?), so being able to track everything remotely but only keep the most recent assignment on disk locally would be nice.

if it's just for class, why do you care that it's public? You should consider it a good opportunity to get your code out there for future employers.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply