Rust pkg mgr Cargo -how can I set a default VCS so each "cargo new projname" is set for that VCS - rust

where in cargo's set of base configurations can I tell cargo to create new projects with a VCS that isn't github?
want to do this 1 time, not on every "cargo new" and not via editing ea project config

The cargo config is described in the cargo book chapter 3.3.
By default cargo new will initialize a new Git repository. This key can be set to hg to create a Mercurial repository, or none to disable this behavior.
vcs = "none"

Adding details to hellow's answer, the file is ~/.cargo/config and you should create it if it doesn't exist already. Then add the following:
[cargo-new]
vcs = "none" # VCS to use ('git', 'hg', 'pijul', 'fossil', 'none')

Related

Set a project to use nightly by default

How do I set a Cargo project to build & run using nightly by default (i.e. cargo build is actually cargo +nightly build) without setting nightly as the global default?
This is not the same question as How to switch between Rust toolchains. If you read both questions you'll see that question is asking about switching Rust toolchains globally whereas I want to switch Rust toolchains without changing the global setting.
With rustup override set nightly it sets the default for that directory to nightly:
https://rust-lang.github.io/rustup/overrides.html#directory-overrides
If you want this choice to also be reflected in the repository, as opposed to just local configuration, you can add a rust-toolchain.toml file, for example
[toolchain]
channel = "nightly"
You might also want to set the nightly compiler's version (printed by rustup show) in the rust-version field of your cargo.toml, so that dependents which try to build on stable get an error message (since rust-toolchain.toml sets the version for a directory, not a crate).

How to set feature options for cargo build?

I use this kind of things:
#[cfg(feature = "myfeature")]
When I click "Build - Build Project" it calls cargo build. How can I specify that I want myfeature to be used? I found that I can specify it for my Run configuration but still it doesn't work for "Build".
On the command line, you'd use cargo build --features myfeature. In clion using the IntelliJ Rust plugin, you should be able to open the Cargo.toml file and tick the box next to the feature definition to enable it within the IDE, as demonstrated in this blog post.

How to use specific repo tool version

I installed repo on my system, but why can't I see its version using 'repo --version' until 'repo init' is run!
Also to suppress repo init to connect to android repo git, I have to pass --repo-url. Is it possible to suppress this behaviour, because it forces me to use repo version from --repo-url and not the one I installed??
In order to ensure you use the newest version (or for compatibility), when you run repo init, repo tool will download a new version of repo in your .repo/repo. So by default, repo --version is designed to check the version in your .repo/repo.
If you want to avoid using --repo-url, you can download repo source and add the directory of repo source to your PATH environment variable.

Where does Cargo put the git requirements?

When compiling a project, cargo automatically downloads the requirements, specified in the Cargo.toml, given as a git-repository.
E.g.
[dependencies.piston]
git = "https://github.com/PistonDevelopers/piston"
will result in
Updating git repository 'https://github.com/PistonDevelopers/opengl_graphics'
when compiling. Where does it save those repositories on my disk? I'm using Windows, does this change anything?
man cargo gives:
FILES
~/.cargo
Directory in which Cargo stores repository data. Cargo can
be instructed to use a .cargo subdirectory in a different
location by setting the CARGO_HOME environment variable.
Doing a git grep for CARGO_HOME finds https://github.com/rust-lang/cargo/blob/3533ff11c505017751d1e466685efe7084cbd96b/src/cargo/util/config.rs#L380-L384
which uses http://doc.rust-lang.org/nightly/std/os/fn.homedir.html

Configure Android Studio with Bitbucket team repo

I am trying to configure Android Studio to work with my team repo on Bitbucket. What I would like to do in the first place is to push my local project onto my team's repo.
I have already installed the Bitbucket plugin but don't really know where to go from here. When I try to commit the changes, all I get is "No changes detected".
Without Using Any Plug-in
First from VCS menu of android studio select Enable Version Control Integration, it will ask you for selecting versioning tool, select git from the drop down.
Create new repository in the BitBucket account for the project, selecting git as the repository type.
Now from the terminal window at the bottom of android studio, type: git add -A
This will add the files to git for committing.
To commit with a message type git commit -m "First Commit" in the terminal. Here, First Commit is just a message i used for demonstration.
From Bitbucket, in the newly created repo, select I have an Existing Project from below. It will give you two command line commands. Use Them consecutively. These will add the local repo to the bitbucket. First one: git remote add origin https://example#bitbucket.org/example/test.git
Second one:
git push -u origin master
Add again git add -A
Then Commit git commit -m "Second Commit"
Push for the last time git push origin master
You can check that the branch is up-to-date by writting git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working tree clean
Done .
My Android Studio version was 2.3.3 & git version 2.13.0.windows.1
So I am assuming you have a local project and you need to import it into your Repository in BitBucket. Since you already have the BitBucket plugin installed, follow the below steps:
Goto VCS Menu > Import into version control > Share Project
You will have to give your credentials when prompted.
On the next dialogue, give a name and a description to your project and then click OK
Now you have got your project imported to BitBucket. Now to checkout a project from BitBucket:
VCS > Checkout from version control > BitBucket
Select the project you want to checkout
After you have added the project to BitBucket, you will see a menu called Git in you VCS menu, which has all the options of Git.
Now depending on the version of android studio and the BitBucket plugin you are using, you are likely to get some errors while doing these. I did these using Android Studio 0.8.2 and Bitbucket plugin version 1.2.2.
Also make sure in the Android Studio Preferences > Version control, the directory is set to <Project> and the VCS to Git. Unless you are using Mercurial or anything it is advisable to remove any VCS other than Git from there. If all these are right everything should be working well.
There is a bug in the third-party Bitbucket plug-in which is preventing it from working, although you can still configure Android Studio to work with Version Control.
Create a repository on Bitbucket.
Clone it via VCS > Checkout from Version Control > Mercurial or Version Control > Git.
Use the HTTPS or SSH URL shown in the "Clone" tab for the repository on Bitbucket as the Repository URL.
Copy and paste your local project into your cloned repository.
You may now use Android Studio to work the repository.
Android Studio -> VCS -> Enable version control
Right-click on your root directory -> select git -> Add
Then click on ctrl+K
Write your commit msg
Click on Define Remote
Paste your git repository url.
PUSH
//Easy tutorial on android studio with bitbucket (linux)
create bitbucket repository "testp"
create a folder "gtest" on your local machine
go to this local folder("gtest") with cd command
now clone git repository "tesp" with clone command
this repo "testp" folder must come inside that "gtest" folder now
open android studio and create a project "MyApplication" by selecting the project location folder "testp"
now open terminal and go to path with cd command upto that tesp folder (you can use terminal inside android studio)
now hit ls command and it should show your project dir "MyApplication"
on your terminal type command "git add MyApplication/".
10.now enable vcs by clicking menu on vcs and enable vcs ...
once the vcs is set or enable then select your appliation "MyApplication" project >> right click >> git >> commit directory >> may write comment "initial commit" and hit "push and commit" button.
see event log for more detail
check out the repo it should be there.
if you have to pull this project only then goto "MyApplication" project >> right click >> git>> repository>> pull
Note: here "testp" , "gtest" and "MyApplication" are only example
If you have already android project then
select menu(vcs) check out from version control
click clone and copy repository from bitbucket and paste it on dialog given by selecting menu1
On the second menu provide specific location where you want to clone
After clone is success it will ask something like create project, anyways click yes.
Now project is created
6.right click on the project and clik new> add module > import project(this is where you import the already existed android project)
7.After every thing is done, build.gradle may have build problem ,if occur paste following code :
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.0'
}
}
allprojects {
repositories {
jcenter()
}
}
now cd up to your bitbucket clone folder using android terminal
now add everything inside this folder using git command "git add file1 file2 file3"
And lastly right click on your project and goto git>commit directory> commit and push and its done
11.You have your code push and commit on bitbucket : check it out
done
// clone on other computer
clone the bitbucket project using vcs option
and load project(not import) after it get clone
if this not work:
vcs clone to desired directory((click no ,if it ask something like yo have check out an android studio project..Would you like to open it)) and import the project using exact same location of clone directory(use gradle wrapper if asked : it may download so wait) and lastly enable vcs for push and commit.
Here is what you can try.
Android Studio -> VCS -> Enable version control
Android Studio -> Changes
Review all files and commit. At this stage you might have to add your files
to VCS manually.
Now you can share it on Bitbucket by
VCS-> Share it on Bitbucket
Note:- For bitbucket you will have to install "following Bitbucket plugin"
for Android Studio. http://plugins.jetbrains.com/plugin/6207?pr=androidstudio
You need to add the files to your local repository first.
Go to menu VCS -> Show Changes View.
Add all the files.
Then got to menu VCS -> Import into Version Control -> Share project.
You will be ask to enter the bitbucket origin URL. And that's it.

Resources