# Julia 0.7/1.0 workflow

**URL:** https://discourse.julialang.org/t/julia-0-7-1-0-workflow/13986
**Category:** General Usage
**Tags:** question
**Created:** [August 24, 2018, 10:17am UTC](https://discourse.julialang.org/t/julia-0-7-1-0-workflow/13986 "2018-08-24T10:17:58Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![davidavdav](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/davidavdav/32/1065_2.png) [@davidavdav](https://discourse.julialang.org/u/davidavdav)
#### Post date: [August 24, 2018, 10:17am UTC](https://discourse.julialang.org/t/julia-0-7-1-0-workflow/13986/1 "2018-08-24T10:17:58Z")

</div>

Hello,

What is the preferred/recommended workflow for developing/maintaining packages, in terms of interaction between developing code in an editor, julia-0.7, and testing the package.

I am used to having a package Mymodule I am working on somewhere in `.../work/julia/Mymodule.jl`

Before julia-0.7, the lines

```julia
include("src/Mymodule")
using Mymodule

```

would make sure I was using the most recently edited code. But with 0.7, and the new package manager, an older version of the package stored somewhere under ~/.julia always gets the precedence over my current working directory.

Even when I try to add the package using

```julia
pkg> add ../Mymodule.jl
pkg> update
using Mymodule

```

I still seem to be exposed to the old version, but this is probably because I don’t understand the new package manager.

Is there a way I can have quick access to the newly edited code without checking code in and adding to the package manager?

Thanks,

—david

---

<div class="post-metadata">

### Author: ![fredrikekre](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/fredrikekre/32/1688_2.png) [@fredrikekre](https://discourse.julialang.org/u/fredrikekre)
#### Post date: [August 24, 2018, 10:35am UTC](https://discourse.julialang.org/t/julia-0-7-1-0-workflow/13986/2 "2018-08-24T10:35:20Z")

</div>

This is a job for `pkg> develop`. `develop` (or `dev` in short) will track a local path. For example, I have the `Example` package locally in `~/dev/Example`, so I can `dev` the path:

```julia
(v1) pkg> dev ~/dev/Example
 Resolving package versions...
  Updating `~/.julia/environments/v1.1/Project.toml`
  [7876af07] + Example v0.5.1+ [`~/dev/Example`]

```

Note that in the status output we see a path (`[~/dev/Example]`) which we are now tracking, meaning that changes you do to the code there will be picked up.

`pkg> add` in contrast, takes a snapshot of the git repository from the path, and stores that internally in `.julia/packages/...`. The difference is that this code will not change when you change the code where you originally had the package (unless you commit and update etc). Cf the output when `add`ing a path:

```julia
(v1) pkg> add ~/dev/Example
  Updating git-repo `/home/fredrik/dev/Example`
 Resolving package versions...
  Updating `~/.julia/environments/v1.1/Project.toml`
  [7876af07] + Example v0.5.1+ #master (/home/fredrik/dev/Example)

```

Here we can see see that we are tracking the branch `#master` and the repo “url” (in this case a local path) is `(/home/fredrik/dev/Example)`.

---

<div class="post-metadata">

### Author: ![davidavdav](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/davidavdav/32/1065_2.png) [@davidavdav](https://discourse.julialang.org/u/davidavdav)
#### Post date: [August 27, 2018, 2:07pm UTC](https://discourse.julialang.org/t/julia-0-7-1-0-workflow/13986/3 "2018-08-27T14:07:27Z")

</div>

Thanks, this works for me indeed.

---

<div class="post-metadata">

### Author: ![davidavdav](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/davidavdav/32/1065_2.png) [@davidavdav](https://discourse.julialang.org/u/davidavdav)
#### Post date: [December 4, 2018, 3:45pm UTC](https://discourse.julialang.org/t/julia-0-7-1-0-workflow/13986/4 "2018-12-04T15:45:28Z")

</div>

For my own reference, because I spent another hour or so figuring this out again, until I stumbled upon my own question (I seem to be pretty stubborn, forgetful and stupid):

```julia
pkg> dev ../Mymodule.jl
julia> using Mymodule

```

a process that does not seem to be documented (at least clearly enough for me) in either [Pkg · The Julia Language](https://docs.julialang.org/en/v1/stdlib/Pkg/index.html#Creating-your-own-packages-1) or [My New Workflow with Julia 1.0. A practical guide to how you can work… | by Erik Engheim | Medium](https://medium.com/@Jernfrost/my-new-workflow-with-julia-1-0-99711103d97c)

---

<div class="post-metadata">

### Author: ![Sukera](https://avatars.discourse-cdn.com/v4/letter/s/ce7236/32.png) [@Sukera](https://discourse.julialang.org/u/Sukera)
#### Post date: [December 4, 2018, 4:01pm UTC](https://discourse.julialang.org/t/julia-0-7-1-0-workflow/13986/5 "2018-12-04T16:01:42Z")

</div>

If you feel like the docs could be improved, please make a PR! The people using the language most extensively often don’t/can’t see where it could be improved, since they’re already very familiar with how it all works. Since you’ve experienced the problem first hand, you’re also the most knowledgable about what is missing 🙂

---

<div class="post-metadata">

### Author: ![davidavdav](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/davidavdav/32/1065_2.png) [@davidavdav](https://discourse.julialang.org/u/davidavdav)
#### Post date: [December 6, 2018, 12:32pm UTC](https://discourse.julialang.org/t/julia-0-7-1-0-workflow/13986/6 "2018-12-06T12:32:50Z")

</div>

I am sorry. I would love to submit a PR for documentation, but then I would need to understand things first. For some reason that is too hard for me. I am still regularly lost in the julia-1.0 package loading system, so that I keep switching back to julia-0.6, where for some reason it is easier for me to figure out what is going on.
