If I have a procedure definition that has been stored in source control, is it necessary or helpful to keep the 'tombstone' up to date as well?
Here's what I mean by a 'tombstone':
CREATE proc [dbo].[getCreditTransactions]
AS
/*
2001-02-12 jdoe : created proc
2003-04-15 kdoe : added handling for credit business rules
*/
etc...
I've setup a git repository one a remote server. Now I'm trying to checkout from it with:
git fetch ssh://[email protected]/~username/workfolder/
but I get an error:
fatal: Not a git repository
What am I doing wrong? Could it be the server does not support Git+SSH?
Please note this is not a question about online/hosted SVN services.
I am working on a home based, solo developer, project that now has commercial significance and it is time to think about remote source code backup. There is no need for file level check in/out, all I need is once a day or once a week directory level snapshot to remote storage. Automatic encryption would be a bonus to protect my IP.
What I have in mind is some sort of GUI interface app that will squirt a source code snapshot off to an Amazon S3 bucket on an automatic schedule.
(My development PC runs on MS Windows.)
When I commit changes with Emacs' built-in VCS interface (I use it with Bazaar) it commits only one file - that's open in current buffer.
So when I press C-c v v, enter message and C-c C-c, it does something like
bzr commit -m "my message" file/open/in.buffer
instead of
bzr commit -m "my message"
How to commit all changes with Emacs?
I see many CS students who use Dropbox as an alternative to real SC systems due to its ease of use.
Do you use Dropbox as a quick-and-dirty source control solution? Is this a valid use for it?
How can I query those of the labels in ClearCase with cleartool that have a specific attribute.
I can list the labels with
lstype -kind lbtype
but I'd like to get only those that have an attribute called TestAttr.
I have a git repo. It has been forked several times and many independent commits are made on top of it. Everything normal, like what happens in many github hosted projects.
Now, what exact workflow should I follow, if I want to see all that commits individually and apply the ones I like.
The workflow I followed, which is not the optimal is to create a branch of the name github-username and merge the changes into my master and undo any changes in the commit I dont need manually (there are not many, so it worked).
What I want is the ability to see all commits from different forks individually and cherry pick and apply them on top of my master.
What is the workflow to follow for that? And what gui (gitk?) enables me to see all different individual commits.
I realize that merge should be a primary part of the workflow and not cherry-pick as it creates a different commit (from git's point of view). Even rebasing other's changes on top of mine might not preserve the history on the graph to indicate that it is his commits I have rebased. So then, How do I ignore just a few commits from a lot of them?
I think github should have a "apply this commit on top of my master" thing in their graph after each commit node; so I can just pull it, after doing all that.
I want to run scheduled nightly exports of my database code into my SVN source.
It's easy to schedule automated check-in's into svn from a folder, but scheduling the export from SQL in SQL Management Studio is
Right click target database, choose Tasks Generate Scripts.
Follow the wizard and presto you've got scripts in a folder.
Is it possible to extract a single script that the wizard generates, and stuff that into a stored proc which I can run nightly?
Ideas?
I am starting to get a reputation at work as the "guy who breaks the builds".
The problem is not that I am writing dodgy code, but when it comes to checking my fixes back into source control, it all goes wrong.
I am regularly doing stupid things like :
forgetting to add new files
accidentally checking in code for a half fixed bug along with another bug fix
forgetting to save the files in VS before checking them in
I need to develop some habits / tools to stop this.
What do you regularly do to ensure the code you check in is correct and is what needs to go in?
Edit
I forgot to mention that things can get pretty chaotic in this place. I quite often have two or three things that Im working on in the same code base at any one time. When I check in I will only really want to check in one of those things.
Title says it. What's the best tool for viewing and editing a merge in Git? I'd like to get a 3-way merge view, with "mine", "theirs" and "output" in separate panels.
Also, instructions for invoking said tool would be great. (I still haven't figure out how to start kdiff3 in such a way that it doesn't give me an error)
edit: My OS is Ubuntu.
I know that in Visual SourceSafe you can go in and drill down to the history of an individual file and then drill down to an individual check-in and apply a comment to the check-in that way but that's tedious and time consuming - if you have a lot of files that were checked in at the same time and you want the same comment to apply to all of them this will take forever.
I use the tool VSSReporter to generate reports of checkins and other stuff from VSS, but it cannot edit anything, only report on them.
Are there any tools which will let you go back and retroactively apply comments to check-ins in an efficient and easy manner?
Inspired by Git for beginners: The definitive practical guide.
This is a compilation of information on using Mercurial for beginners for practical use.
Beginner - a programmer who has touched source control without understanding it very well.
Practical - covering situations that the majority of users often encounter - creating a repository, branching, merging, pulling/pushing from/to a remote repository, etc.
Notes:
Explain how to get something done rather than how something is
implemented.
Deal with one question per answer.
Answer clearly and as concisely as possible.
Edit/extend an existing answer rather than create a new answer on the
same topic.
Please provide a link to the the Mercurial wiki or the HG Book for people who want to learn more.
Questions:
Installation/Setup
How to install Mercurial?
How to set up Mercurial?
How do you create a new project/repository?
How do you configure it to ignore files?
Working with the code
How do you get the latest code?
How do you check out code?
How do you commit changes?
How do you see what's uncommitted, or the status of your current codebase?
How do you destroy unwanted commits?
How do you compare two revisions of a file, or your current file and a previous revision?
How do you see the history of revisions to a file?
How do you handle binary files (visio docs, for instance, or compiler environments)?
How do you merge files changed at the "same time"?
Tagging, branching, releases, baselines
How do you 'mark' 'tag' or 'release' a particular set of revisions for a particular set of files so you can always pull that one later?
How do you pull a particular 'release'?
How do you branch?
How do you merge branches?
How do you merge parts of one branch into another branch?
Other
Good GUI/IDE plugin for Mercurial? Advantages/disadvantages?
Any other common tasks a beginner should know?
How do I interface with Subversion?
Other Mercurial references
Mercurial: The Definitive Guide
Mercurial Wiki
Meet Mercurial | Peepcode Screencast
We are having havoc with our project at work, because our VCS is doing some awful merging when we move information across files.
The scenario is thus:
You have lots of files that, say, contain information about terms from a dictionary, so you have a file for each letter of the alphabet.
Users entering terms blindly follow the dictionary order, so they will put an entry like "kick the bucket" under B if that is where the dictionary happened to list it (or it might have been listed under both B, bucket and K, kick).
Later, other users move the terms to their correct files. Lots of work is being done on the dictionary terms all the time.
e.g. User A may have taken the B file and elaborated on the "kick the bucket" entry. User B took the B and K files, and moved the "kick the bucket" entry to the K file. Whichever order they end up getting committed in, the VCS will probably lose entries and not "figure out" that an entry has been moved.
(These entries are later automatically converted to an SQL database. But they are kept in a "human friendly" form for working on them, with lots of comments, examples etc. So it is not acceptable to say "make your users enter SQL directly".)
It is so bad that we have taken to almost manually merging these kinds of files now, because we can't trust our VCS. :(
So what is the solution? I would love to hear that there is a VCS that could cope with this. Or a better merge algorithm? Or otherwise, maybe someone can suggest a better workflow or file arrangement to try and avoid this problem?
bzr push defaults to the first target you pushed to. If I now want to push to a different location, but don't want to manually enter it every time, how do I change the default?
Have you anyone tried this so far? Did you find any issues? We thought of upgrading our SP server to SP 2010 since it provides many flexible development environment. What would suggest as best practice to do this?
I keep searching, but cannot find a clear and simple explanation on how to include one XCode project, along with all of it's sub-classes into another project. I routinely see stuff like that in sample projects that I download off the web, but do not know how to do this myself.
Within XCode, along with .h and .m files, and folders, there's a whole new project, starting with a blue xcode project icon, that is expandable to contain everything within the project.
Please, can someone explain to me step by step what do I need to do to add one XCode project into another one? I've seen a ton of one liners like "header search paths", but that does not tell me much.
UPDATE: After re-reading the documentation, I realized that the project to include must be dragged ONTO the BLUE project icon of the parent project. Regular sources can be dragged anywhere, but a project must be dragged onto a project.
Thank you!
My site stops working when I drop a new DLL in the bin of my virtual directory. It took to much time to work properly again. Sometimes I have to reset the IIS. Its happening since I upgraded my .Net framework from 1.1 to 3.1
I have opened a website website hosted on my workstation in Visual Studio 2008 and saved it as solution. I now want to add this to source contol and I am being given the option to either 'Add solution to source control...' or 'Add web site to source control...'.
This solution needs to be accessed, worked on and run locally by several other developers so I was wondering what the key differences are between each option and which would be the best to choose?
I am currently maintaining a Mercurial repository of the project I am working on.
The rest of the team, however, doesn't.
There is a "good" (unversioned) copy of the code base that I can access by SSH. What I would like to do is be able to do something like an hg pull from that good copy into my master repository whenever it gets updated.
As far as I can tell, there's no obvious way to do this, as hg pull requires you have a source hg repository.
I suppose I could use a utility like rsync to update my repository, then commit, but I was wondering:
Is there was an easier/less contrived way to do this?
I have a file in a project that is in a bitkeeper repository. I checked in a file but I haven't committed the change to create a changeset. How can I undo the checkin?
If I had a changeset I could undo the commit with:
bk undo -r<rev>
But in this case I can't commit and undo the changeset because I have other checked-in files that I don't want to touch.
I have a list of modifications when I run git status, but I cannot stage them or commit them. How can I fix this?
This occurred after pulling the kernelmode directory from a bare repository somewhere in one huge commit.
% git status
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: kernelmode/linux-2.6.33/Documentation/IO-mapping.txt
# ...
$ git add .
$ git status
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: kernelmode/linux-2.6.33/Documentation/IO-mapping.txt
# ...
I need to merge changes from a branch back into trunk but want to continue work on the existing branch.
I was going to use a re-integrate merge but realised this is not suitable as I will need to recreate my branch etc which for a variety of reasons is not desirable.
What I really want to do is merge the current revisions in the branch down to head and then keep people working on their current working copies.
So my question is , can tree merge be used to solve this or do I have to reintegrate and recreate.
Ok, so I have a big github project that i'm not supposed to merge my little Stacia branch into. However, it seems like Heroku only takes pushing MASTER seriously. It looks like I pushed my branch, but for example if I only have my branch, it even acts like there's no code on the server. I can't even get my gems installed since the .gems file is on my branch.
Basically I don't even want Heroku to know there's a master. I just want to use my test Stacia branch. But it keeps ignoring my local branch. Is there a way to do this? And again, I don't want to overwrite anything on the main Github repository (eeek!) but it would be ok probably if I had both master and my branch on heroku and merged them there.
I am a total git novice (on windows no less) so please bear with me.