how to set up assembla svn repository on mac - macos

How to export local repository maintained on mac platform to assembla SVN
I tried exporting my repository then zip it and it import it into assemble, I get the following error each time.
ERROR - There is no breakout.ini in SVN
/mnt/atl-fs8-data1/svn/myproject we trying to backup
I also tried checking out a working copy to the url I am given
https://subversion.assembla.com/svn/mysecretproject/
that did not work either.
It is probably easy on windows platform but all my code is on mac. I am stuck with it for 2 days now.

Have you asked on their support sites? If not, you can
Ask user community
File a new support ticket

How did you export your repository?
My advice is to follow the instructions in SVN Tool:
Dump the repo with "svnadmin dump"
Import the dump by uploading it
(if smaller than 200 MB) or providing url for assembla to download
it
If this does not work, you can open up a support ticket and attach the repo dump you are trying to import

Related

Best working solution to develop one project on Xcode using two Mac, Synology NAS, Git and Bitbucket?

So far, I am developing using a MacMini. The code is automatically saved on the local SSD repository (localized inside CloudStation folder), then automatically copied on Synology NAS. Periodically I doing commits (git) and push them to Bitbucket.
Previous set-up:
- MacMini.
- Synology NAS.
- Private project repository on Bitbucket.
- Local project repository both on NAS and local SSD using CloudStation.
I recently bought a MacBook Pro and what to use both Mac.
I installed CloudStation and opened the source code from Synology folder. The problem is that it does not consider it as a Git repository.
As far as I understood, the git repository is the local folder on MacMini.
The one on Synology is simply a copy.
I would like to be able to code either on my MacMini, or on my MacBookPro as if I had only 1 Mac. Using Git, and pushing commits to Bitbucket.
What would be the best solution?
I think about 3 solutions:
1) Use only 1 repository localized on the NAS (with git) and access it directly (without CloudStation which is doing a copy). But this might be a problem if my local network/internet is not working, as I will not be able to access the folder. Also I may have problem if Xcode is open on both Mac at the same time...
2) Each Mac will have its own local repository (no CloudStation back-up copy, or in 2 different user CloudStation folders). When I work on one Mac, I then should commit and push to Bitbucket. Then I will be able to pull to the other Mac if need.
3) Install git server on the Synology NAS. Have local versions stored on both Mac and push/pull to/from the NAS. But will this replace Bitbucket? Can I still push to Bitbucket afterward?

Smartgit - cannot connect to repository while on a MAC

I am trying to connect using SmartGit 6.5.5 (build #4184) to a GitHub private organization repository. However, on Mac OS X, it's not working.
On SmartGit, I go to Repository -> Clone, then in "Remote Git or SVN Repository" I type in the following address:
https://github.com/JBCJBCJBC/Testing.git"
It does not work on my Mac OS X. I get the error:
"Could not connect to the repository https://github.com/JBCJBCJBC/Testing.git".
Please check the repository URL. repository "
https://github.com/JBCJBCJBC/Testing" not found: remote: Repository not found"
When I downloaded SmartGit for windows on Parallels, and used the above link, it worked.
Back on OS X, when I use my public folder, it works:
https://github.com/yanjbc/test.git
It seems to have to do with Mac OS X on a private repository that is not working. Does anyone have any idea why this is occurring?
This could be an authentication problem. Instead of revealing information about private repositories, GitHub is (possibly) mimicking the behaviour of a non existent repository.
Can you try this command from the command line?
> git ls-remote https://github.com/JBCJBCJBC/Testing.git
12641062c10c8ada29e44c94be905a027a469f00 HEAD
12641062c10c8ada29e44c94be905a027a469f00 refs/heads/master
If you do not get any output from the command above, then your authentication settings are not correct, and you will not be able to access the private repository. GitHub has a guide on how to setup and troubleshoot key issues.
However, if this gives you some output like the sample above, then you can definitely connect to your private repository in some way. It might mean your issue is related to this post about SmartGit. It seems that answer is related to Windows, so I am not sure how you would proceed on Mac OS X as Putty is a Windows only program.
A couple of alternatives to SmartGit (if you can't get it working with your keys) are:
SourceTree from Atlassian (free, but need to register)
The good old command line
For Authorized OAuth Apps you may need to grant the organization access.
github application settings
Choose SmartGit application and explicitly grant the org.

How to add a project to svn server?

I have to add a project to the SVN server repository and I would be thankful to get some links or little help on how to do that.
The URL to the SVN repository is https://192.168.1.4:448/svn/BDRAsigViata/.
The project is located on the desktop. The path is /Users/name/Desktop
and the name of the project is BDRAsigurariViata v1.0.zip.
I tried to add the project this way
svn import /Users/name/Desktop/BDRAsigurariViata v1.0.zip https://192.168.1.4:448/svn/BDRAsigViata
But it isn't working. Am I supposed to follow other steps too, in order to be able to do that?
I get the error:
svn: E205000: Try 'svn help' for more info
svn: E205000: Too many arguments to import command
[Tedious mode ON] Are you trying to add a ZIP archive to a version control repository? Apache Subversion is a
version control system, not a simple file storage or Dropbox! It's designed to store and manage your code. Since you use the term "project", I assume that you simply zipped your source code files and wanted to commit them as the archive. That's not how it works. [Tedious mode OFF]
Nevertheless, the command you need is
svn import "C:\Users\name\Desktop\BCRAsigurariViata v1.0.zip" "https://192.168.1.4:448/svn/BCRAsigViata/BCRAsigurariViata v1.0.zip" -m "Commit Message"
Since you are new to Apache Subversion and VisualSVN Server you definitely should set aside some time to read SVNBook. These introductory topics are highly recommended for novice Apache Subversion users:
What Is Subversion?
Fundamental Concepts
Basic Usage
As a Windows user, I strongly recommend you to consider TortoiseSVN client (and it's manual in addition to the above docs).
Your command looks strange with the backslash. The first one and the one in front of the server URL looks like they don't belong. Also I believe you need to escape the spaces in your path. (but I wouldn't put the last file, you want a directory).
I would write this command:
svn import /Users/name/Desktop https://192.168.1.4:448/svn/BCRAsigViata
except you might not want to put your whole "Desktop folder".

Setting up a Git repository under Review-Board on Windows Server 2003

I need some help.
I have a Windows Server 2003 computer that I'm setting up with Git and Review-Board.
My Git repositories are managed by Gitolite. The setup is successful and everything is working fine (tested with multiple workstations).
The Review-Board site has installed successfully and is hosted under Apache 2.2. This is also working fine in itself (the website is accessible and responds for workstations), except the part where I'm trying to link Git repositories to Review-Board.
Most tutorials (example: http://ericholscher.com/blog/2011/jan/24/using-reviewboard-git/) provide good details on how to setup a Git repository under Review-Board, except that they refer to Linux/Unix systems, and I am running Windows Server 2003.
My Gitolite repositories are stored under D:\Repositories\Git
Example: D:\Repositories\Git\sdu-test\.git
My understanding is that Review-Board needs a local clone of the repository(ies). Therefore, I created a directory named LocalClones and I cloned my repository.
Example: D:\Repositories\LocalClones\[I cloned sdu-test.git here]
Command used (from LocalClones directory): git clone ../Git/sdu-test.git(the clone was successful)
Now, in Review-Board, I'm trying to declare my sdu-test repository.
Name is 'sdu-test'
Hosting type is 'Custom'
Repository type is 'Git'
Path is 'D:\Repository\LocalClones\sdu-test' (I have also tried with 'sdu-test.git', and 'sdu-test/.git')
Mirror path is 'ssh://git#localhost/sdu-test' (I have also tried simply 'git#localhost:sdu-test', and no mirror path at all)
When I click Save, I get the following error: (11001, 'getaddrinfo failed'). I have no idea what to do about that.
If I try to change the path to a Unix-style path ('/D/Repository/LocalClones/sdu-test'), I get a different error message: Permission denied accessing the local Git repository '/D/Repository/LocalClones/sdu-test'. With a Unix-style path, I could even write a directory path that doesn't exist ('/I/Dont/Exist') and the same permission denied error is returned (the path in the error message does reflect the change though).
Can anyone help me out and tell me how to declare my local Git repository in Review-Board under Windows?
Thank you very much!
** UPDATE ** thank you Tamagochi and VonC for your answers, but unfortunately they're not working for me. Even after fixing the git.py file, I still get the Permission denied accessing the local Git repository '/D/Repository/LocalClones/sdu-test' error message.
There appears to be a bug in ReviewBoard 1.5.5 that causes this error. You can resolve this problem in either of two ways:
Move your repositories to drive C.
Edit \reviewboard\scmtools\git.py file, and replace the following line:
self.git_dir = url_parts[2]
with:
self.git_dir = url_parts[1] + url_parts[2]
Then use the following path: file://D:/Repository/LocalClones/sdu-test
I don't have any experience with ReviewBoard, but from what I can gather (from your link):
you do need to put the full path up to the .git directory of the local clone.
you should make your local clone through an url-based address. If the local file protocol is to be used, you should try with file///D/Repository/LocalClones/sdu-test.
git#localhost:sdu-test would only work if you have a git daemon running.
ssh://git#localhost/sdu-test would only work if you have a ssh daemon running.

How do I set up Mercurial and hgweb on IIS?

I've been looking all over for decent instructions on how to get hgweb working on IIS but I haven't found much of worth.
There's this "step by step" on the Mercurial wiki, but it's not very good.
There's also this and this, but again, I can't find good steps to lead up to where those get started.
I just had to install a fresh Mercurial instance yesterday, here's updated instructions for 1.7:
Install Mercurial (these instructions were tested with 1.7)
Install Python (for Mercurial 1.7, you must use the x86 version of Python 2.6.6)
You will need to download the hgweb.cgi file from the Mercurial source. You can download the source by running: hg clone https://www.mercurial-scm.org/repo/hg/
Create a folder that will be your web application folder. You will need to copy three things into this folder:
The hgweb.cgi file
The contents of the Library.zip from your "C:\Program Files\Mercurial" folder
The Templates folder from your "C:\Program Files\Mercurial"
You will need to make sure you have Python set up in IIS.
Enable CGI via the following: Control Panel -> Turn Windows Features On or Off -> Roles -> Web Server (IIS) -> Add Role Services -> Check CGI
Create a new Web Site in IIS and make sure the physical path is the folder you created above
In the Handler Mappings for the new website, select "Add Script Map". Enter *.cgi for the request path, c:\Python26\python.exe -u "%s" for the Executable, and Python for the Name.
You will also need to create a file named "hgweb.config" with contents similar to below. The path within the file needs to be the location on your drive where you want to store the Mercurial repositories:
[collections]
c:\Mercurial\repos = c:\Mercurial\repos
Edit the hgweb.cgi file and change the line where it sets the path to your hgweb.config to something like the following (wherever the hgweb.config file is):
config = "C:\Mercurial\hgweb.config"
Now, open a browser and navigate to http://localhost/mercurial/hgweb.cgi (or whatever is the appropriate URL path you set up in IIS) and you should see the Mercurial Repositories page.
Also, check out Jeremy Skinners blog post . It's a little outdated, but has some extra nice steps like setting up URL re-writing for cleaner URL's.
It seems since Mercurial 1.5.2 was released, these tutorials don't work exactly right. For one thing, hgwebdir.cgi has been removed, and is now replaced with hgweb.cgi.
The instructions that worked best for me is at eworldui.net:
http://www.eworldui.net/blog/post/2010/04/08/Setting-up-Mercurial-server-in-IIS7-using-a-ISAPI-module.aspx
Those instructions are meant for IIS 7 or greater. If you're setting this up on IIS 6, I wrote up similar instructions geared toward Win2k3 and IIS 6.0:
http://partialclass.blogspot.com/2010/05/setting-up-mercurial-server-on-win2k3.html
UPDATE: Shortly after getting this working I learned that BitBucket changed their pricing scheme to offer free, unlimited, private hosting: https://bitbucket.org/. I would've opted for that in a heartbeat when I was originally working on this project.
Below are what I did after doing a fair amount of research for geting hgwebdir.cgi setup on IIS6 . It is based on the following sites:
http://python.markrowsoft.com/iiswse.asp
http://www.jeremyskinner.co.uk/mercurial-on-iis7/
You'll need to install the following on the server:
Mercurial (I used version 1.5)
Python 2.6. The version of Python depends on the version of Mercurial installed.
Mercurial 1.5 uses Python 2.6. Install x86 even if you are running x64.
The steps for me were:
Create a directory for the website. I used c:\inetpub\wwwroot\hg.
In IIS, right click on the folder for hg, select properties, select the Home Directory tab.
Click on the Create application button. Set the execute permissions to "scripts".
Still in the Home Directory tab, click on the Configuration button. In the "Application Configuration" popup, click the Add button to add an application extension. The Executable is c:\Python26\python.exe -u "%s" "%s". The extension is .cgi. Set the "verbs" to "limit to: GET,HEAD,POST". Check both Script engine and Verify that file exists.
In the Directory Security tab, click on the Edit button in the Authentication and access control section. Uncheck all authentication methods, and check the "Basic authenication" method. Set the Default domain if you like to your Active Directory domain.
In IIS, click on the Web Service Extensions folder on the left panel. Click on "Add a new Web service extension" link. Extension name should be Python, the required file is c:\Python26\python.exe -u "%s" "%s". Make sure the new extension is "Allowed".
Now is a good time to test that Python is working. Create a file in your new Hg folder called test.cgi. Paste the following python code:
print 'Status: 200 OK'
print 'Content-type: text/html'
print
print '<html><head>'
print ''
print '<h1>It works!</h1>'
print ''
print ''
Open the browser to your site, for instance, http://localhost/hg/test.cgi
You should see "It works!" in the browser.
Next let's get the hgwebdir working.
Delete test.cgi
clone the hg repo to a new directory: https://www.mercurial-scm.org/repo/hg/
copy hgwebdir.cgi to your web directory: c:\inetpub\wwwroot\hg\ from the cloned hg repo
Edit the file and change
application = hgwebdir('hgweb.config')
wsgicgi.launch(application)
to
application = hgwebdir('c:\inetpub\wwwroot\hg\hgweb.config')
wsgicgi.launch(application)
Unzip the Library.zip file in the Mercurial directory, c:\Program Files\Mercurial\, to your web directory, c:\inetpub\wwwroot\hg\
Copy the templates directory from c:\Program Files\Mercurial\templates\ to c:\inetpub\wwwroot\hg\templates\
Create a file called hgweb.config in your web directory.
Now is a good time to test it out. Go to the following URL in the browser, http://localhost/hg/hgwebdir.cgi
Edit hgweb.config, and paste the following:
[collections]
\\server\share$\Hg\ = \\server\share$\Hg\
[web]
allow_push = *
push_ssl = false
These are all my preferences, for instance we have our repos in subdirectories at \\server\share$\Hg. The web app will run under the permissions of the logged in user via the browser, so they'll need read/write permissions to the share.
The last step is to allow for long connections which can happen when you first clone a repo. Run the following command to increase the timeout to 50 minutes:
cd \inetpub\AdminScripts\
cscript adsutil.vbs GET /W3SVC/CGITimeout
cscript adsutil.vbs SET /W3SVC/CGITimeout 3000
Use mercurial to clone the mercurial repository:
hg clone https://www.mercurial-scm.org/repo/hg/
you will find hgwebdir.cgi at the top level. It should install
like any other cgi script.
I've been fighting with this setup for mercurial 1.7.2 for the past week or so, I had to do things slightly differently than the above articles do in order to get it working.
Posting here because google kept bringing me back here....
Full instructions posted here
I followed a combination of these instructions and these (in the source)
The main differences are that I had to do the "pure python" install of mercurial otherwise it would complain about missing dlls, and I found it was important to use the "python installers" for pywin and isapi-wsgi. (maybe this is obvious to experienced python developers, but I'm a python newbie so it was news to me)
Hope this helps somebody and I'm not just making stuff up (I might be, like i said, python newbie)
The hg red book contains some much better general instructions than I've seen in other places. They are not IIS specific, but they are quite good:
http://hgbook.red-bean.com/read/collaborating-with-other-people.html#sec:collab:cgi
I was running into a "...can not load module..." type error and after some reading, the key for me was to ignore the Library.zip file in the Mercurial folder, and instead use the one from C:\Program Files (x86)\TortoiseHg folder.
That tip I found as #6 in this guide:
http://www.endswithsaurus.com/2010/05/setting-up-and-configuring-mercurial-in.html
Hope this helps someone...
I know this is an old question, but I really struggled getting Hg installed on Server 2019 and IIS 10.
Here is what I did to get it working:
Install Python 2.7 which in my case was python-2.7.18.amd64.msi. I will assume it's installed in C:\Python27. Make sure python is added to your path and that pip is installed.
Install Mercurial as a module using pip at the command line:
pip install mercurial
Under Default Web Site add a new application called hg and point it to the directory you want to use to use.
Configure Python as CGI handler in IIS 10.0 for this new website (or the entire web server if you wish). You can do this manually or create/add the follwing to your web.config file:
<system.webServer>
<handlers accessPolicy="Read, Script">
<add name="Python 2.7" path="*.cgi" verb="*" modules="CgiModule" scriptProcessor="C:\Python27\python.exe -u "%s"" resourceType="File" />
</handlers>
</system.webServer>
In the 'hg' application folder create a hgweb.cgi that looks similar to the following:
#!/usr/bin/env python3
#
# An example hgweb CGI script, edit as necessary
# See also https://mercurial-scm.org/wiki/PublishingRepositories
# Path to repo or hgweb config to serve (see 'hg help hgweb')
config = "hgweb.config"
# Uncomment and adjust if Mercurial is not installed system-wide
# (consult "installed modules" path from 'hg debuginstall'):
# import sys; sys.path.insert(0, "/path/to/python/lib")
# Uncomment to send python tracebacks to the browser if an error occurs:
#import cgitb; cgitb.enable()
from mercurial import demandimport
demandimport.enable()
from mercurial.hgweb import hgweb, wsgicgi
application = hgweb(config)
wsgicgi.launch(application)
In the 'hg' application folder create the hgweb.config file and point it at your repos like the following:
[collections]
C:\Web\www\hg\repos\ = C:\Web\www\hg\repos\
Navigate to http://localhost/hg/hgweb.cgi and enjoy!
You can try HgLab. This isn't exactly hgwebdir; rather it is a purely managed Mercurial implementation with push and pull server and repository browser.

Resources