Bench copy app to another bench (developer)

Its mandatory to use git for transport our new apps between bench(s) even into local machine?

Is possible copy apps between benchs?

i don’t know if its right or wrong way but i create empty app with the same name ,
lets say our app name is Selling
and bench 1 the the source bench2 is our current bench ,
i create new empty app in bench2 named Selling , then i remove it and copy Selling form bench 1 to bench2 , do bench migrate then bench start …

Thanks ! ahmadRagheb.
i will try on a few minutes, and i will show you my results.

@rootrigo did it works for you ??

@rootrigo,

you can use bench init --clone-from source_bench_path destination_bench_path

It will create a new bench and copy all the apps from source_bench_path

Friend, is working!
thanks.

in 2 doctypes have registers, weird? but work.

hi!, i will try, thansk for your help.

The registers on every doctype disapear in new bench?

Tengo error mientras hago la copia:

we have error on cloning process:

[respinoza@frappe-dev dev]$ ls
bench-repo devel frappe-bench install.py links
[respinoza@frappe-dev dev]$ bench init --clone-from devel dev000
INFO:bench.utils:virtualenv -q env -p /usr/bin/python2
Already using interpreter /usr/bin/python2
INFO:bench.utils:./env/bin/pip -q install --upgrade pip
INFO:bench.utils:./env/bin/pip -q install wheel
INFO:bench.utils:./env/bin/pip -q install -e git+https://github.com/frappe/python-pdfkit.git#egg=pdfkit
Copying apps from devel…
Copying node_modules from devel…
Cleaning up frappe
Checking out files: 100% (2037/2037), done.
remote: Counting objects: 235, done.
remote: Total 235 (delta 189), reused 189 (delta 189), pack-reused 46
Receiving objects: 100% (235/235), 64.28 KiB | 0 bytes/s, done.
Resolving deltas: 100% (205/205), completed with 124 local objects.
From GitHub - frappe/frappe: Low code web framework for real world applications, in Python and Javascript

  • branch master → FETCH_HEAD
    INFO:bench.app:installing frappe
    INFO:bench.utils:dev000/env/bin/pip install -q -e dev000/apps/frappe --no-cache-dir
    Cleaning up qs
    Traceback (most recent call last):
    File “/usr/bin/bench”, line 11, in
    load_entry_point(‘bench’, ‘console_scripts’, ‘bench’)()
    File “/home/respinoza/dev/bench-repo/bench/cli.py”, line 40, in cli
    bench_command()
    File “/usr/lib64/python2.7/site-packages/click/core.py”, line 722, in call
    return self.main(*args, **kwargs)
    File “/usr/lib64/python2.7/site-packages/click/core.py”, line 697, in main
    rv = self.invoke(ctx)
    File “/usr/lib64/python2.7/site-packages/click/core.py”, line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
    File “/usr/lib64/python2.7/site-packages/click/core.py”, line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
    File “/usr/lib64/python2.7/site-packages/click/core.py”, line 535, in invoke
    return callback(*args, **kwargs)
    File “/home/respinoza/dev/bench-repo/bench/commands/make.py”, line 19, in init
    verbose=verbose, clone_from=clone_from)
    File “/home/respinoza/dev/bench-repo/bench/utils.py”, line 51, in init
    clone_apps_from(bench_path=path, clone_from=clone_from)
    File “/home/respinoza/dev/bench-repo/bench/utils.py”, line 109, in clone_apps_from
    setup_app(app)
    File “/home/respinoza/dev/bench-repo/bench/utils.py”, line 98, in setup_app
    remote = remotes[0]
    IndexError: list index out of range

and, did ctrl+c to shutdown bench in folder devel…

any sugest?

hi
is it work. while i try this it says the source path is already exists. can you help me please

the error shows:

bench init --clone-from /home/ramesh/Documents/23052018_backup/23-05-2018/frappe-bench /home/ramesh/Frappe/frappe-bench/
Traceback (most recent call last):
File “/home/ramesh/.local/bin/bench”, line 11, in
load_entry_point(‘bench’, ‘console_scripts’, ‘bench’)()
File “/usr/local/lib/python2.7/dist-packages/bench/cli.py”, line 40, in cli
bench_command()
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 722, in call
return self.main(*args, **kwargs)
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 697, in main
rv = self.invoke(ctx)
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/usr/local/lib/python2.7/dist-packages/click/core.py”, line 535, in invoke
return callback(*args, **kwargs)
File “/usr/local/lib/python2.7/dist-packages/bench/commands/make.py”, line 30, in init
python = python)
File “/usr/local/lib/python2.7/dist-packages/bench/utils.py”, line 52, in init
raise ValueError(‘Bench Instance {path} already exists.’.format(path = path))
ValueError: Bench Instance /home/ramesh/Frappe/frappe-bench/ already exists.